Googleスプレッドシートの=XLOOKUP関数で特定の文字列に反応させる方法

Office系ソフトウェア

Googleスプレッドシートで=XLOOKUP関数を使って、特定の条件に基づいてデータを検索することができますが、条件が文字列の場合、どのように扱うかは少し工夫が必要です。この記事では、3月という月を除いた給与という文字に反応させる方法について、実例を交えて解説します。

XLOOKUP関数の基本的な使い方

まず、基本的な=XLOOKUP関数の使い方を確認しましょう。例えば、次の式では、いちご、ばなな、りんごという文字列に対応する数値を検索しています。

=xlookup(A1, {"いちご", "ばなな", "りんご"}, {1000, 2000, 3000}, "")

この関数では、A1のセルにある値に基づいて、リストの中から対応する数値を返す仕組みです。例えば、「いちご」が入力されていれば、1000が返されます。

文字列の一部に基づいてデータを検索する方法

質問の中で「3月給与」という文字が出てきますが、このように特定の月を除いた文字列に反応させるにはどうすればよいでしょうか。具体的には、月の部分(例えば「3月」)を取り除き、残りの文字列に基づいて検索を行いたい場合です。

Googleスプレッドシートでは、TEXT、REGEXREPLACEなどの関数を活用することで、文字列から月の部分を抜き取ることが可能です。次にその方法を見ていきましょう。

月の部分を取り除く方法

例えば、セルA1に「3月給与」という文字が入力されているとしましょう。この月部分(「3月」)を取り除くためには、REGEXREPLACE関数を使用します。

=REGEXREPLACE(A1, "\d+月", "")

この式は、A1のセル内の数字と「月」の部分を空白に置き換え、残りの「給与」だけを返します。これにより、「3月給与」から「給与」だけを抽出できます。

抽出した文字列を=XLOOKUP関数に組み込む

次に、この抽出した文字列(「給与」)を=XLOOKUP関数に組み込む方法について説明します。例えば、A1に「3月給与」という文字列があり、B1に給与に対応する数値を検索したい場合、次の式を使います。

=XLOOKUP(REGEXREPLACE(A1, "\d+月", ""), {"給与"}, {3000}, "")

この式では、まず「3月給与」から「給与」を取り出し、それを基に3000という数値を返します。

応用例:複数の文字列に対応する

実際には、「3月給与」だけでなく、「4月給与」や「5月給与」など、複数の月に対応する場合もあります。その場合、抽出した文字列をもとに、複数の条件を一度にチェックすることもできます。

例えば、以下のように複数の月と対応する給与をまとめたリストを使うことができます。

=XLOOKUP(REGEXREPLACE(A1, "\d+月", ""), {"給与"}, {3000}, "")

まとめ:文字列から月を取り除く方法と=XLOOKUP関数の活用

Googleスプレッドシートでは、文字列から月を取り除き、その後の部分で=XLOOKUP関数を使用してデータを検索することが可能です。月の部分を削除するには、REGEXREPLACE関数を利用し、抽出した文字列を基に適切な値を返すことができます。

これにより、「3月給与」のような文字列でも、月を除いた部分に基づいてデータを検索できるようになります。この方法を応用すれば、他の複雑な文字列にも対応できるようになるでしょう。

コメント

タイトルとURLをコピーしました