• ベストアンサー

複数のデータを行ごと関数で抽出

複数のデータを行ごと関数で抽出して、マスターデータが更新されたら抽出先も自動でかわるようにしたいです。何か良い方法はありませんか?

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

関数での「抜出し」問題は、式が長くなる。初心者には不適の課題。 ピボットや、フィルタ操作で済ませることを勧める。 それらの場合、データ数・内容が変動したときの対処を勉強する必要があるが。 あえて、関数でやる+作業列を使う(imogasi方式)、でやると ーー 元データ A1:D7 氏名 生年月日 年齢 分類 福原 3月1日 34 正規 金本 4月1日 30 ネット 伊川 4月2日 26 正規 矢野 4月3日 22 ネット 高山 4月4日 18 ネット ゴメス 4月5日 14 正規 ーー 「正規」を抜き出す場合 E列のE2に式 =COUNTIF($D$2:D2,"正規") ネットの場合は、第2引数を「ネット」にすること。 E7まで式複写。 E2:E7は 1 1 2 2 2 3 F2に式 =IF(ISERROR(INDEX(A$1:A$10,MATCH(ROW()-1,$E$1:$E$10,0),0)),"",INDEX(A$1:A$10,MATCH(ROW()-1,$E$1:$E$10,0),0)) を入れてF10まで式複写。 ・式中の「10」は実データ行数+アルファ 分の 行数を指定。 ・A$1:A$10  のAの前に$をつけない。項目(氏名・生年月日など)が複数あり、列複写する必要があるから。 ・日付列はホームーセルの書式設定で日付の書式に設定していくこと。  TEXT関数で文字にして染ま宇方法もあるが、勧めない。 結果 f1:I4 氏名 生年月日 年齢 分類 福原 2019/3/1 34 正規 伊川 2019/4/2 26 正規 ゴメス 2019/4/5 14 正規

noname#235185
質問者

お礼

ご回答ありがとうございます。 無事に完成しました。

その他の回答 (4)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

INDEX関数を工夫すれば良いでしょう。 添付画像の正規会員シートのE2には分類の"正規会員"と入力されています。 また、ネット会員シートのE2には分類の"ネット会員"と入力されています。 会員分類毎のシートのA2セルへは次の数式を設定します。 =IFERROR(INDEX(マスターデータ!A:A,LARGE(INDEX((マスターデータ!$D:$D=$E$2)*ROW(D:D),0),COUNTIF(マスターデータ!$D:$D,$E$2)-ROWS(E$2:E2)+1)),"") A2セルの数式をB2とC2へコピーし、A2:C2を下へ必要数コピーすれば添付画像のようになります。 但し、B列の表示形式は日付にしてください。

回答No.3
noname#235185
質問者

お礼

ご回答ありがとうございます。 無事に完成しました。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

添付図参照 Sheet1 において、 1.範囲 A3:D100 選択 ⇒ Alt+MC ⇒ “上端行”以外のチェック  ̄ ̄外し ⇒ [OK] Sheet2、Sheet3 において、 2.次式を入力したセル A3 を右2列にオートフィルした後で、  ̄ ̄セル B3 を yy/mm/dd に書式設定  ̄ ̄ =IFERROR(INDEX(INDIRECT(A$2),SMALL(IF(分類=$A$1,ROW(INDIRECT(A$2))),ROW(A1))-3),"")  ̄ ̄【お断り】上式は必ず配列数式として入力のこと 3.範囲 A2:C3 を下方にズズーッと(空白行が表示されるまで)  ̄ ̄オートフィル

noname#235185
質問者

お礼

ご回答ありがとうございます。 無事に完成しました。

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

VLOOKUP関数を使って各列のセルデータを抽出してみてください。

noname#235185
質問者

お礼

ご回答ありがとうございます。 無事に完成しました。

関連するQ&A