- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
関数での「抜出し」問題は、式が長くなる。初心者には不適の課題。 ピボットや、フィルタ操作で済ませることを勧める。 それらの場合、データ数・内容が変動したときの対処を勉強する必要があるが。 あえて、関数でやる+作業列を使う(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 正規
その他の回答 (4)
- bunjii
- ベストアンサー率43% (3589/8249)
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列の表示形式は日付にしてください。
- kimamaoyaji
- ベストアンサー率26% (2801/10379)
ピポットテーブルでスライサーで「正規会員」と「ネット会員」のフィルタリング条件を付ければ良いだけだと思います、無理に関数でやらなくても簡単で、確実で、しかも大量データーでも高速です。 https://support.office.com/ja-jp/article/%E3%83%94%E3%83%9C%E3%83%83%E3%83%88%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%A6%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B7%E3%83%BC%E3%83%88-%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%88%86%E6%9E%90%E3%81%99%E3%82%8B-a9a84538-bfe9-40a9-a8e9-f99134456576 https://support.office.com/ja-jp/article/%E3%82%B9%E3%83%A9%E3%82%A4%E3%82%B5%E3%83%BC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%BC%E5%87%A6%E7%90%86%E3%81%99%E3%82%8B-249f966b-a9d5-4b0f-b31a-12651785d29d
お礼
ご回答ありがとうございます。 無事に完成しました。
- msMike
- ベストアンサー率20% (364/1804)
添付図参照 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 を下方にズズーッと(空白行が表示されるまで)  ̄ ̄オートフィル
お礼
ご回答ありがとうございます。 無事に完成しました。
- aokii
- ベストアンサー率23% (5210/22062)
VLOOKUP関数を使って各列のセルデータを抽出してみてください。
お礼
ご回答ありがとうございます。 無事に完成しました。
お礼
ご回答ありがとうございます。 無事に完成しました。