• ベストアンサー

Excel2007 関数について

はじめまして! Excelで集計しているのですが、どの関数を使用すべきか困っています。 ご教示お願い致します。 添付の上部がINPUT(sheet名は「condo」)です。 添付の下部のSHEETに出力できる関数を調べています。 今のところ以下の関数を使用していて、うまくできていません。 IF(AND($3:$3>=Condo!$C:$C,$3:$3<=Condo!$D:$D),Condo!$G:$G,"") ※INPUTの行の順番に 表示されてしまっているので、それを、各UNIT(A,B,C,D,E,F)に応じて出力させたいです。 お手数ですが、何卒宜しくお願い致します。

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

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

INPUTシートをシート1、OUTPUTシートをシート2として説明します。 シート1では例えばA1セルからD1セルに項目名が有り、それらの2行目から下方にお示しのようなデータが入力されているとします。 そこでお求めのシート2ですがA4セルから下方にシート1のC列にあるA,B,C,D,Eなどの文字を予め入力します。 B3セルには次の式を入力してから右横方向にドラッグコピーします。 =IF(DATE(YEAR(MIN(Sheet1!$A:$A)),MONTH(MIN(Sheet1!$A:$A)),DAY(MIN(Sheet1!$A:$A))+COLUMN(A1)-1)>MAX(Sheet1!$B:$B),"",DATE(YEAR(MIN(Sheet1!$A:$A)),MONTH(MIN(Sheet1!$A:$A)),DAY(MIN(Sheet1!$A:$A))+COLUMN(A1)-1)) それら3行目のセルには日付のシリアル値が表示されますので3行目を選択してから右クリックして「セルの書式設定」の「表示形式」の「ユーザー定義」で種類の窓には d と入力して日にちを表示させます。 B2セルには次の式を入力して右横方向にドラッグコピーします。 =IF(B3="","",IF(OR(COLUMN(A1)=1,DAY(B3)=1),B3,"")) 3行目と同様に「セルの表示形式」の「ユーザー定義」で種類の窓には mmm と入力してOKします。 最後にB4セルには次の式を入力して右横方向にドラッグコピーしたのちに下方向にもドラッグコピーします。 =IF(OR($A4="",B$3=""),"",IF(AND(B$3>=INDEX(Sheet1!$A:$A,MATCH($A4,Sheet1!$C:$C,0)),B$3<=INDEX(Sheet1!$B:$B,MATCH($A4,Sheet1!$C:$C,0))),INDEX(Sheet1!$D:$D,MATCH($A4,Sheet1!$C:$C,0)),""))

その他の回答 (1)

回答No.1

INPUT(sheet名は「condo」)のG列(←B,A,D,C,E,Fが入力されている)を 基準にして、昇順で並べ替えをしてあげれば済むのでは・・・?

関連するQ&A