条件を付けてデータを取り出す方法は多々あります。どのような場合にどの方法がよいか、それぞれの特徴をご紹介します。
(クリックして詳細を確認してください)
-
複数の列を条件にして1つの値を取り出す
なら
→ DGET関数
▼区と学校名を条件に【担当】を取り出す(条件は複数フィールドOK)
※DGET関数は取り出せるデータは1つのみ。また、条件に合致するデータが複数ある場合はエラーが表示されます。
-
データベースの左列と合致するレコードの○列目を取り出す → VLOOKUP関数
▼区を指定すると【担当】が取り出される(条件は1フィールドのみ)
※取り出せるデータは1つのみ。
-
データベースの上行のデータと合致するレコードの○行目を返す → HLOOKUP関数
▼区を指定すると【担当】が取り出される(条件は1フィールドのみ)
※取り出せるデータは1つのみ。
-
行と列の交差する位置の値を取り出す →
INDEX関数/MATCH関数
※取り出せるデータは1つのみ。
-
条件でレコードを別領域に取り出す【フィルタオプション】
→
例1:条件(○○を含む)を付けて別領域に取り出す
→ 例2:重複
データを除外して別領域に取り出す
※条件に合致するデータが一覧で取り出せます。自動更新はできません。
-
一意のデータを別領域に取り出す(集計も可能)
→ フィルタオプション
◎人数の集計→
フィルタオプションでデータを取り出し(区と性別を条件)SUMPRODUCT((E2=$A$2:$A$8)*(F2=$B$2:$B$8),$C$2:$C$8)
※一覧で取り出せますが、自動更新はできません。
-
条件に合致したデータ一覧を別領域に取り出します。自動更新もOK。(INDEX,SMALL,ROW)
-
A列とB列で重複するデータを取り出す → COUNTIF関数
◎A列とB列で重複するデータをD列 →
IF(COUNTIF($A$2:$A$7,B2)>=1,B2,"")
-
空白セルを詰めて別領域に表示 →
セル削除又はフィルタオプション又はINDEX関数/SMALL関数
●フィルタオプションならA2<>""で抽出
●関数なら=IFERROR(INDEX($A$2:$A$9,SMALL(IF($A$2:$A$9<>"",ROW($A$2:$A$9)-1),ROW()-1)),"")
-
A列にあってB列にないものを取り出すならこちら(INDEX,ISNA,SMALL,ROW)
|