Excel Office スクリプト シートから文字列を検索
Office スクリプトにおけるシートから文字列を検索する方法を紹介します。
解説
以下のコードで検索を行います。(赤字は適宜変更)
let 検索結果の変数名 = workbook.getWorksheet("シート").findAll("検索ワード", { completeMatch: 完全一致(true)か部分一致(false), matchCase: 小文字・大文字を区別する(true)か、大文字・小文字を区別しない(false)});
結果には検索結果のセル範囲が配列で格納されます。
もし検索結果が存在しない場合はundefinedになります。
これはエラーの原因になるため対策しておく必要があります。
if(検索結果の変数名 === undefined){
// 該当するものがないと undefined
}
else{
// 該当するものがある場合
}

結果はrangeオブジェクト(getRangeの結果と同じ)の配列で操作は多岐にわたりますが、
代表的なものは次の通りです。
result.getAreaCount(); // 一致件数
result.getAreas(); // 一致したセル(range)の配列
result.getAreas()[インデックス]; // 一致したセル(range)
result.getAreas()[インデックス].getAddress(); // 一致したセル(range)のアドレス
result.getAreas()[インデックス].getValue(); // 一致したセル(range)の値
result.getAreas()[インデックス].clear(); // 一致したセル(range)をクリア
result.getAreas()[インデックス].setValue(設定値); // 一致したセル(range)を更新
Office スクリプトを効果的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り700円またはKindle Unlimited (読み放題) で提供中です。

体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。