• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル(2003・2007)でデータ抽出し、別シートを作成するための)

エクセルでデータ抽出し、別シートを作成するための関数

このQ&Aのポイント
  • エクセルの2003・2007を使用して、指定の条件に一致するデータを抽出し、別のシートに作成するための関数について教えてください。
  • 具体的に、B列が本日から10日間以内かつC列が空白のデータのA・B・D行を別のシートに作成する関数を教えてください。
  • また、作成した別のシートには、抽出したデータの名前、日付1、備考が表示されるようにしてください。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

回答No1です。 サンプルBでB列の日付が数値で表示されるのは日付はシリアル値で評価されその値が表示されるのです。B列を選択して右クリックし、「セルの書式設定」から「表示形式」のタブで「日付」の中から選択すればよいでしょう。 ところで実はもう3項目を増やしたいとのこと、初めからそのようにご質問されるようにしましょう。 3項目増やした状態での式は次のように変わります。 サンプルAのシートではH2セルに次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",IF(AND(B2>=TODAY(),B2<TODAY()+10,C2=""),MAX(H$1:H1)+1,"")) サンプルBシートではA2セルに次の式を入力し右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(OR(ROW(A1)>MAX(サンプルA!$H:$H),COLUMN(A1)>6),"",IF(COLUMN(A1)<=2,INDEX(サンプルA!$A:$B,MATCH(ROW(A1),サンプルA!$H:$H,0),COLUMN(A1)),IF(COLUMN(A1)>=3,INDEX(サンプルA!$A:$G,MATCH(ROW(A1),サンプルA!$H:$H,0),COLUMN(A1)+1))))

noname#157767
質問者

お礼

2度も回答頂き、ありがとうございました おかげさまで無事、作業完了しました!

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

サンプルAのシートではA1セルに氏名、A2セルから下方にデータが、B,C、D列についても1行目に項目名が2行目以降にそれぞれのデータがあるとします。 作業列をE列に作ってE2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",IF(AND(B2>=TODAY(),B2<TODAY()+10,C2=""),MAX(E$1:E1)+1,"")) サンプルBシートではA,B,C列の1行目に項目名があるとしてA2セルには次の式を入力してC2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>MAX(サンプルA!$E:$E),"",IF(COLUMN(A1)<=2,INDEX(サンプルA!$A:$B,MATCH(ROW(A1),サンプルA!$E:$E,0),COLUMN(A1)),IF(COLUMN(A1)=3,INDEX(サンプルA!$D:$D,MATCH(ROW(A1),サンプルA!$E:$E,0)),"")))

noname#157767
質問者

補足

ご回答有難うございます 氏名と備考はコピペでうまく出来ました 有難うございます ただ、サンプルBの日付表示がうまく表示されないのです (40466等の数字が表示されます) また、サンプルAの後ろのほうの列からあと3項目程度サンプルBに表示したいのですが、 関数も結構変わっちゃいますか? 素人ですいません

関連するQ&A