• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:指定した3つのセルのデータを抽出し別表を作成する)

指定した3つのセルのデータを抽出し別表を作成する方法とは?

このQ&Aのポイント
  • A表のB、D、F列にデータが入力されている場合、それを抽出してB表を作成するためのエクセル関数を教えてください。
  • F列は同じデータが表示されるため、VLOOK関数を使用することができますが、B,D列にデータが入力されていない場合は表示しないようにしたいです。
  • 3つのセルのうち、一つでもデータがない場合は表示させない方法も教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 今仮に、A表が存在しているシートがSheet1、B表が存在しているシートがSheet2であるものとして、Sheet3のA列を作業列として使用するものとします。  まず、Sheet3のA1セルに次の数式を入力して下さい。 =IF(OR(INDEX(Sheet1!$B:B$,ROW())="",INDEX(Sheet1!$D:$D,ROW())="",INDEX(Sheet1!$F:F$,ROW())=""),"",ROW())  次に、Sheet3のA1セルをコピーして、Sheet3のA2以下に、A表の行数を上回るのに充分な行数となるまで、貼り付けて下さい。  次に、Sheet2のA1セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$B:$B,SMALL(Sheet3!$A:$A,ROWS($1:1))))  次に、Sheet2のB1セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$D:$D,SMALL(Sheet3!$A:$A,ROWS($1:1))))  次に、Sheet2のC1セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$F:$F,SMALL(Sheet3!$A:$A,ROWS($1:1))))  次に、Sheet2のA1~C1の範囲をコピーして、同じ列の2行目以下に貼り付けて下さい。  これで、B,D,F列にデータが存在する行のデータが抽出されます。  尚、B,D,F列の全てにデータが存在する行のみ、データを抽出するのではなく、F列のデータの有無には関わりなく、B列とD列の両方にデータが存在している行を、全て抽出する場合には、Sheet3のA1セルに入力する数式を、次の様に修正して下さい。 =IF(OR(INDEX(Sheet1!$B:B$,ROW())="",INDEX(Sheet1!$D:$D,ROW())=""),"",ROW())

gge7ahjk1n
質問者

お礼

計画していた表が作成できました。大変ありがとうございました。

その他の回答 (1)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

B列とD列にフィルタを設定して、(空白セル)のチェックを外してはいかがでしょう。

関連するQ&A