スプシの関数の組み合わせ

組み込み関数を便利に使えると、スプレッドシートの使い方の幅が広がります。

今回は、GASの話はしません。

IMPORTRANGE+INDEX+MATCH

[画像1]

[画像2]

IMPORTRANGEの使い方は、以下のURLに載っています。

IMPORTRANGE - Google ドキュメント エディタ ヘルプ
指定したスプレッドシートからセルの範囲を読み込みます。 使用例 IMPORTRANGE("", "シート1!A1:C10") IMPORTRANGE(A2,"B2") 表参照を使用する場合: IMPORTRANGE("

構文は、以下のようになっております。

[画像3]

構文とは、シンタックスとも呼ばれますが、関数を使う上で則る必要のある書き方のことです。

第一引数は、「スプレッドシートのURL」とありますが、スプレッドシートのIDでも動くようなので、今回はIDを採用しています。

第二引数に「シート名」と「セル範囲」を指定し、間を「!」で繋ぎます。(例:シート1!A:AZ)

A:AZは、A列目からAZ列目までを指定するという意味です(行はすべてが指定されます)。

ここで、引数というのは、関数に与える値のことです。

次に、INDEX関数です。

INDEXの使い方は、以下のURLに載っています。

INDEX - Google ドキュメント エディタ ヘルプ
行と列のオフセットで指定したセルのコンテンツを返します。 例 コピーを作成 招待客名

構文は、以下のようになっております。

[画像4]

つまり、IMPORTRANGEで指定した範囲(シート1!A:AZ)の中から、行(例えば、2)と列(例えば、2)を指定して、値を返すというのが、上記[画像1]の関数の処理内容です。

MATCH関数については、以下に書きます。

次に、MATCH関数です。

MATCHの使い方は、以下のURLに載っています。

MATCH 関数 - Google ドキュメント エディタ ヘルプ
指定した値と一致する範囲内のアイテムの相対的な位置を返します。 使用例 MATCH("日曜日",A2:A9,0) MATCH(DATE(2012,1,1),A2:F2) 構文 MATCH(検索キー, 範囲, ) search_key - 検...

構文は、以下のようになっております。

[画像5]

つまり、「検索キー」に「$A3」を指定するということは、idの3を指定しているということになり、「範囲」にはIMPORTRANGEで参照元(画像2)のA列を指定し、「検索の種類」に完全一致を表す0を指定しています。

これがINDEX関数の「行」の部分に入力されます。

INDEX関数の「列」の部分にも同様に解説します。

「検索キー」に「$B$1」を指定するということは、「名前」を指定しているということになり、「範囲」にはIMPORTRANGEで参照元の1行を指定し、「検索の種類」に完全一致を表す0を指定しています。

IMPORTRANGE+INDEX+MATCHの解説は以上となります。

ISNUMBER+SEARCH

条件付き書式で使える関数の組み合わせです。

[画像6]

CONCATENATE関数は、文字を繋げる関数です。

この場合は、「今川」(B2)、「_」(テキスト)、「S」(C2)を繋げて、「今川_S」として、オートフィルを使用して、「田中_F」「momiji_B」としています。

条件付き書式を「カスタム数式」に設定して、

=ISNUMBER(SEARCH(“F”, D2))

と入力します。

すると、「F」という文字を検索して、見つかったらそのセルに色が付きます。

ISNUMBERの使い方は、以下のURLに載っています。

ISNUMBER - Google ドキュメント エディタ ヘルプ
値が数値であるかどうかを検証します。 使用例 ISNUMBER(A2) ISNUMBER(4) 構文 ISNUMBER(値) 値 - 数値であるかを検証する値を指定します。 *ISNUMBER 関数は、値が数値であるか数値を含むセルへの参照...

構文は、以下のようになっております。

[画像7]

値が数値ならTRUEを返すので、検索した結果一致した場合に数値を返すSEARCH関数を使っています。

SEARCH関数の使い方は、以下のURLに載っています。

SEARCH - Google ドキュメント エディタ ヘルプ
大文字小文字を区別せずに、特定の文字列がテキスト内で最初に現れる位置を返します。 使用例 SEARCH("n",A2) SEARCH("客","隣の客はよく柿食う客だ",7) 構文 SEARCH(検索文字列, 検索対象のテキスト, ) 検索...

構文は、以下のようになっております。

[画像8]

ここでは、「検索文字列」にテキストの「F」を指定し、「検索対象のテキスト」にD2を指定しています。

条件付き書式の難しいところですが、「D2:D4」の範囲で、それぞれの「D2」「D3」「D4」で判定したい場合、「D2」を指定することで、すべての判定処理が行われます。

TRUEになったものには書式が適用され、FALSEとなったものには書式は適用されません。

繰り返しになりますが、SEARCH関数は位置を表す数値を返すので、「ISNUMBER」と合わせて、テキスト(この場合は「F」)が見つかったら、TRUEを返して、書式が反映されるということになります。

ISNUMBER+SEARCHの解説は以上となります。

SPLIT+TRANSPOSE

[画像9]

この関数の組み合わせは、1つのセルに例えば”, “で繋げられたテキストが入っている場合に、それを縦に表示します。

SPLITだけだと、横に表示するのですが、TRANSPOSE関数で転置(行と列を入れ替えること)することによって、縦に表示します。

SPLIT関数の使い方は、以下のURLに載っています。

SPLIT - Google ドキュメント エディタ ヘルプ
指定した文字または文字列の前後でテキストを分割し、各部分を同じ行の別のセルに表示します。 使用例 SPLIT("1,2,3", ",") SPLIT("ああ、かわいそうな、ヨリック"," ") SPLIT(A1, ",") 構文 SPLIT...

構文は、以下のようになっております。

[画像10]

ここでは、「テキスト」に「今川, 田中, momiji」を指定し、「区切り文字」に「, 」を指定しています。

TRANSPOSE関数の使い方は、以下のURLに載っております。

TRANSPOSE - Google ドキュメント エディタ ヘルプ
配列またはセルの範囲の行と列を入れ替えます。 使用例 TRANSPOSE({1,2;3,4;5,6}) TRANSPOSE(A2:F9) 構文 TRANSPOSE(配列または範囲) 配列または範囲 - 行と列を入れ替える配列または範囲です。...

構文は、以下のようになっております。

[画像11]

つまり繰り返しになりますが、「SPLIT関数で横に並べた配列をTRANSPOSE関数で行と列を入れ替えて縦に表示する」という意味になります。

SPLIT+TRANSPOSEの解説は以上となります。


終わりに

どれも実際の業務で応用ができる関数の組み合わせだったのではないかと思います。

今後もできるだけ便利な組み合わせはこのブログに載せていこうと思っております。

今回は以上となります。

コメント

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