第7章. 配列、ロジック、ルックアップ関数
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章のレシピは、多くの種類のスプレッドシートが必要とする3つの主要な分野をカバーしている:
-
数式の一部として配列または範囲を操作する
-
論理テストを行う
-
名前とインデックスで値を検索する
この章では、メニュー・コマンドの代わりに関数を使用した配列のフィルタリング、ソート、結合、エラーのトラップと処理、論理テストやマッチング値に基づいて戻り値を選択する方法、XLOOKUP 、INDEX 、MATCH を使用して値を検索する方法について説明する。また、INDIRECT とOFFSET 関数を使用して、セルや範囲への動的参照を作成する方法についても説明する。
7.1 ユニークな値を取得する
問題
配列や範囲があって、その一意な値や一度だけ現れる値のリストを取得したい。
解決策
A2:A6が顧客のファーストネーム、B2:B6が顧客のラストネームのリストで、このデータを使って2つのリストを返したいとする。
エクセル2021やエクセル365を使用している場合、UNIQUE 関数を使用して、値の動的配列を返すことでこの問題を解決できる。 一般的には、次の式を使用する。 =UNIQUE(array, by_column, exactly_once)ここで arrayは、値を調べたい範囲または配列である、 by_column(オプション) は、一意な行または列を返すかどうかを指定する(一意な行を返す場合は省略し、一意な列を返す場合はTRUE にセットする)。 exactly_once(オプション)は、一意な値を返すか、一度だけ現れる値を返すかを指定する。一意な値を返す場合は省略し、一度だけ現れる値を返す場合はTRUE 。つまり =UNIQUE(A2:B6)と入力すると、A2:B10の一意な行が返される。 =UNIQUE(A2:B6, , TRUE)は一度だけ現れる行を返す(図7-1参照)。
図7-1. UNIQUE 。
チップ
UNIQUE 関数は、隣接する列や行にまたがる一意な戻り値を返す。 隣接していない場合は、 または 関数を使って並べ替え(CHOOSECOLS CHOOSEROWS レシピ7.4参照)、その結果に 関数を適用する。UNIQUE
ディスカッション
このレシピは、配列のユニークな行や列のリストを取得する便利な方法である。顧客リストや商品リストを作るのにも使える。
チップ
ROWS 、COLUMNS 関数を使えば、UNIQUE 関数が返す行数や列数をカウントすることができる。この関数は、配列の行数や列数を返す。例えば =ROWS(UNIQUE(A2:B6))と入力すると、A2:B6の一意な行の数がカウントされる。
7.2 配列をソートする
問題
配列や範囲があって、その値を昇順または降順にソートした動的な配列が欲しい。
解決策
A2:A6が顧客の姓、B2:B6が顧客の名のリストで、姓でソートしたリストと、姓、名の順にソートしたリストを返したいとする。エクセル2021またはエクセル365を使用している場合、SORT とSORTBY ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access