- ベストアンサー
Excel 表上にない値も含めて集計するには?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
表上には無い値も含めてとは階ばかりではなくメータものの長さなども多種になるのでしょう。 すべてを自動的に関数を使って分かり易く処理するには次のようにしてはどうでしょう。 お示しの表がシート1に有ってD列までの表示となっているとしてE列から右の列を作業列として使用します。 E2セルには次の式を入力して下方にドラッグコピーします。 =IF(COUNTIF(C$2:C2,C2)=1,MAX(E$1:E1)+1,"") 部材の種類の数に応じて番号が表示されます。 F2セルには次の式を入力して右横方向に5階の建物ならJ2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF($A2="","",IF(AND(COLUMN(A1)>=MIN($A2:$B2),COLUMN(A1)<=MAX($A2:$B2)),$D2,"")) 次にお求めの表ですが例えばシート2に表示させるとして例えばA2セルには次の式を入力して下方向にドラッグコピーします。 =IF(COUNTIF(Sheet1!$E:$E,ROW(A1)),INDEX(Sheet1!$C:$C,MATCH(ROW(A1),Sheet1!$E:$E,0)),"") 部材の長さが表示されます。 B1セルには次の式を入力して右横方向にドラッグコピーします。 =IF(COLUMN(A1)>MAX(Sheet1!$B:$B),"",MIN(Sheet1!$A:$A)+COLUMN(A1)-1) 建物の階が表示されます。 B2セルには次の式を入力して右横方向にドラッグコピーしたのちに下方向にもドラッグコピーします。 =IF(OR(B$1="",$A2=""),"",SUMIF(Sheet1!$C:$C,$A2,Sheet1!F:F))
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
右の表と左の表で同じことを違う表記で記入していたのでは、無駄に計算が面倒になるだけなので、 準備: H3:L3には数字の1から5を記入、セルの書式設定の表示形式のユーザー定義で 0F と設定しておく G4:G7には数字の5から20を記入、セルの書式設定の表示形式のユーザー定義で 0"m" と設定しておく 手順: H4セルには =SUMPRODUCT(($A$2:$A$99<=H$3)*(H$3<=($B$2:$B$99="")*($A$2:$A$99)+$B$2:$B$99)*($C$2:$C$99=$G4)*$D$2:$D$99) と記入、必要に応じてセルの書式設定の表示形式のユーザー定義で # と設定しておく 右にコピー、下にコピーして完成。 #補足 左の表の5行目は4の4と記入しておけば、もうちょっとだけシンプルには出来ます また今回は掲示された画像で判りますが、ご利用のエクセルのバージョンによって使える関数とか変えてもっとシンプルにできる可能性もあります。ご相談投稿では、普段ご利用のソフトのバージョンまでキチンと明記する事を憶えておいてください。
お礼
とても長い式ですが、貼付けると旨くいきました。 Excelのバージョンを忘れてました、済みません。 ありがとうございました。
お礼
>表上には無い値も含めてとは階ばかりではなくメータものの長さなども多種になるのでしょう。 その部分は手入力で構わないと思っていたのですが、お察しの通りファイルによって項目数が異なり、重量分けの資材だったり色々なので、自動的に表示されれば更にありがたいです。