Googleスプレッドシートに関する質問です。 ワイルドカードで使用している「*」をGASを使用して「指定なし」に表記したいです。 E21には、 =sumifs('収支計算'!L:L,'収支計算'!B:B,">="&C19,'収支計算'!B:B,"<"&edate(C19,1),'収支計算'!D:D,D2,'収支計算'!F:F,D3) という数式が入っています。 D2に「*」と入力してあるときは、正常に値と抽出できます。 「*」をGASを使用して、「指定なし」に変換します。 使用しているスクリプトは、 function onEdit(e) { // -- 初期設定 -- // 確認対象の文字 const checkValue = '*'; // 記入する文字 const putValue = '指定なし'; // シート名 const sheetName = '集計'; // 開始列と終了列の範囲 const colFrom = 4; const colTo = 4; // 開始行と終了行の範囲 const rowFrom = 2; const rowTo = 3; // エラー防止 if (!e) { console.log('エディタからは実行できません。セルを編集してください。'); return; } // 編集された シート名, 列番号, 行番号, セルの値 を取得 const name = e.range.getSheet().getName(); const col = e.range.columnStart; const row = e.range.rowStart; const value = e.value; // シート名が一致 if (name === sheetName) { // 列番号が範囲内 if (col >= colFrom &&col <= colTo) { // 行番号が範囲内 if (row >= rowFrom &&row <= rowTo) { // セルの値が一致 if (value === checkValue) { // 編集されたセルの値を変更 e.range.setValue(putValue); } } } } } というスクリプトになります。 スクリプトが実行されると、表記自体が変わってしまうので、「指定なし」だと値が抽出できなくなってしまいます… 例えば、カスタム数値形式で行う「1」を「0“月”」にすると「1月」に表記が変わるような指示をスクリプトで行えば、「*」を「指定なし」に変換しても、数式は「*」と判断して、値を抽出できるのではないかと思うのですが、可能でしょうか?
Excel