- 
Home » 
 
- 
エクセル関数一覧表 » 
 
- 
Excel関数の目次 » 
 
- XLOOKUP関数で必要な列だけを取り出す
 
更新:2025/7/1;作成:2020/2/3
ここで使用するデータです   topへ
  - 下図の成績表を使って説明します。
  
  
         | 
        B | 
        C | 
        D | 
        E | 
        F | 
        G | 
        H | 
      
  
        | 2 | 
        No | 
        氏名 | 
        国語 | 
        算数 | 
        理科 | 
        社会 | 
        合計 | 
      
  
        | 3 | 
        1 | 
        岡田 | 
        70 | 
        65 | 
        71 | 
        77 | 
        283 | 
      
  
        | 4 | 
        2 | 
        会田 | 
        55 | 
        61 | 
        66 | 
        48 | 
        230 | 
      
  
        | 5 | 
        3 | 
        河合 | 
        82 | 
        77 | 
        83 | 
        88 | 
        330 | 
      
  
        | 6 | 
        4 | 
        近藤 | 
        72 | 
        78 | 
        74 | 
        73 | 
        297 | 
      
  
        | 7 | 
        5 | 
        井上 | 
        61 | 
        55 | 
        52 | 
        65 | 
        233 | 
      
  
        | 8 | 
        6 | 
        木下 | 
        86 | 
        98 | 
        94 | 
        87 | 
        365 | 
      
  
        | 9 | 
        7 | 
        植田 | 
        68 | 
        78 | 
        75 | 
        66 | 
        287 | 
      
  
        | 10 | 
        8 | 
        佐々木 | 
        81 | 
        67 | 
        71 | 
        86 | 
        305 | 
      
  
        | 11 | 
        9 | 
        桑田 | 
        62 | 
        64 | 
        61 | 
        69 | 
        256 | 
      
 
  - No〜合計のいずれかを指定して、その列のすべてのデータを取り出すことができます。
  K2セルに =XLOOKUP(K2,B2:H2,B3:H11) と入力しています。
  =XLOOKUP(K2,2:2,3:11) とすることもできます。
  
   - K2セルの数式をM2セルまでコピーすると、複数列のデータを取り出すことができます。
  
 
  - なお、一つの数式で複数列のデータを取り出すときは、CHOOSECOLS関数を使うと可能です。
  K3セルには =CHOOSECOLS(B3:H11,XMATCH(K2:M2,B2:H2)) と入力しています。
  この数式のミソは XMATCH(K2:M2,B2:H2) です、国語と社会は連続していない列であることに注目してください。
  
 
  - その列のすべてのデータを取り出すことができます。
  L3セルに =XLOOKUP(K3,C3:C11,D3:H11) と入力しています。
  
   - XLOOKUP関数は入力規則の「元の値」に使うことができます。
  TrimRange関数と一緒に使うと伸縮するドロップダウンリストを作成することができます。
  入力規則の元の値に =TRIMRANGE(XLOOKUP(K2,2:2,3:20)) とK2セルの「氏名」のデータを取り出しています。
  氏名の列を直接指定することも可能です。 トリム参照で =C3:.C100 とします。
  
 
CHOOSECOLS関数とXLOOKUP関数とXMATCH関数で必要な列のデータを取り出す。
  - 氏名を入力すると国語と社会の得点を取り出します。
  D15セルに =CHOOSECOLS(XLOOKUP(C15,C3:C11,D3:H11),XMATCH(D14:E14,D2:H2)) と入力します。
  XLOOKUP関数で氏名に該当するデータを取り出し、CHOOSECOLS関数で必要な列のデータを取り出します。
  必要な列はXMATCH関数でその位置を検索しています。
  
 
CHOOSECOLS関数とFILTER関数とXMATCH関数で必要な列のデータを取り出す。
  - これらの関数の組み合わせがもっとも使い勝手がよさそうな気がします。
  
 - 氏名を入力すると国語と社会の得点を取り出します。
  CHOOSECOLS関数とFILTER関数とXMATCH関数を使うと下の数式のようになります。
=CHOOSECOLS(FILTER(D3:H11,C3:C11=C15),XMATCH(D14:E14,D2:H2))
  CHOOSECOLS関数はExcel for Microsoft365、Excel2024で使用できる関数です。
指定された行・列の配列を返すCHOOSEROWS関数・CHOOSECOLS関数の使い方
  
   - XMATCH関数を使う方法では列見出しの並び順が異なっていても問題なく計算ができます。
  
 
FILTER関数とCOUNTIF関数で必要な列のデータを取り出す。
  - FILTER関数とCOUNTIF関数でも同じことが可能です。
=FILTER(FILTER(D3:H11,C3:C11=C15),COUNTIF(D14:E14,D2:H2))
  
  
   - ただし、列見出しの並び順が異なると、COUNTIF関数では下図のように計算ができませんのでご注意ください。
  
 
スポンサードリンク
Home » 
エクセル関数一覧表 »  XLOOKUP関数で必要な列だけを取り出す
PageViewCounter

Since2006/2/27