• ベストアンサー

Excel(エクセル)での並べ替え

Excel(エクセル)で自動で縦書きを横書きにしたいです。 以前にココで似たような相談をして、 回答していただいた中のヒントを生かしてやってみたのですが、 新たな表に上手く対応できませんでした。 申し訳ないのですが どうかもう1度、お力添えをお願いいたします(ノД`)・゜・。 添付画像のように A2~E7の表を同じシート内の薄緑の部分が自動で表示されるようにしたいです。 I2~K7にどの様な数式を入れればよいか教えてください! ときどき発生する複数行に対応する数式がわかりません。 甘えてばかりで申し訳ないのですが、よろしくお願い致します。

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

  • ベストアンサー
回答No.4

最終計算範囲を14行目として A15セルに文字列を入力する I2セルに =IF($A2="","", SUMIF($D2:INDEX($D2:$D$14,MATCH("*?",$A3:$A$15,0)),I$1, $E2:INDEX($E2:$E$14,MATCH("*?",$A3:$A$15,0)))) 右へ下へオートフィル

その他の回答 (6)

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

商品名が多くなっても、また、同じ県名での商品の数が多くなっても、データの数が多くなっても計算に負担がかからない方法としては次のようにすればよいでしょう。 作業列としてF2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2<>"",INT(MAX(F$1:F1))+1+MATCH(D2,I$1:AX$1,0)/100,IF(AND(A2="",D2<>""),INT(MAX(F$1:F1))+MATCH(D2,I$1:AX$1,0)/100,"")) I2セルには次の式を入力して横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF($A2="","",IF(COUNTIF($F:$F,COUNTA($A$2:$A2)+COLUMN(A1)/100)=0,"",INDEX($E:$E,MATCH(COUNTA($A$2:$A2)+COLUMN(A1)/100,$F:$F,0))))

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 I1~K1に、最初から商品名が入力されている場合には、まず、I2セルに次の数式を入力して下さい。(もし、元の表の行数が99行を上回る場合には、数式中の99の部分を、元の表の行数以上の数に変更して下さい) =IF(SUMPRODUCT(($C2<>"")*($I1<>"")*($D$2:$D$99=I$1)*(COUNTIF(OFFSET($C$1,,,ROW($C$2:$C$99)),"><")=COUNTIF(OFFSET($C$1,,,ROW()),"><"))),INDEX($E:$E,SUMPRODUCT(ROW($C$2:$C$99)*($D$2:$D$99=I$1)*(COUNTIF(OFFSET($C$1,,,ROW($C$2:$C$99)),"><")=COUNTIF(OFFSET($C$1,,,ROW()),"><")))),"")  次に、I2セルをコピーして、J2~K2の範囲に貼り付けて下さい。  次に、I2~K2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。  尚、I1~K1に商品名を自動的に表示させる場合には、適当な列(例えばG列)を作業列として使用します。  まず、G2セルに次の数式を入力して下さい。 =IF(COUNTIF($D$1:$D2,$D2)=1,ROW(),"")  次に、G2セルをコピーして、G3以下に貼り付けて下さい。  次に、I1セルに次の数式を入力して下さい。 =IF(COLUMNS($I:I)>COUNT($G:$G),"",INDEX($D:$D,SMALL($G:$G,COLUMNS($I:I))))  次に、I1セルをコピーして、J1~K1の範囲に貼り付けて下さい。  以上です。

回答No.5

最終計算範囲を14行目として A15セルに文字列を入力する I2セルに =IF($A2="","", SUMIF($D2:INDEX($D2:$D$14,MATCH("*?",$A3:$A$15,0)),I$1, $E2:INDEX($E2:$E$14,MATCH("*?",$A3:$A$15,0)))) 右へ下へオートフィル で、数式で0を表示させないようにするなら =IF($A2="","", IF(ISNA(MATCH(I$1,$D2:INDEX($D2:$D$14,MATCH("*?",$A3:$A$15,0)),0)),"", SUMIF($D2:INDEX($D2:$D$14,MATCH("*?",$A3:$A$15,0)), I$1,$E2:INDEX($E2:$E$14,MATCH("*?",$A3:$A$15,0))))) SUMIF関数を使っているので「静岡のみかん」は集計されます。 以前の質問は多分、 Excel(エクセル)での自動改行検索 http://okwave.jp/qa/q6330885.html 質問履歴が非公開の場合は、リンクして欲しいですね。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 外していたらごめんなさい。 画像の表では仮に東京・3Fの売上品・売上数が複数行になっている場合にはそれを行ごとにまとめたいということでしょうか? 一応そういうことだとしての一例です。 ↓の画像のように作業列を2列設けてみました。 作業列1のF2セルは =IF(COUNTIF($D$2:D2,D2)=1,ROW(),"") これはI1セル以降列方向に商品を表示させるための作業列です。 作業列2のG2セルは =IF(D2="","",IF(AND(A2="",B2=""),INDEX($A$2:A2,MAX(IF($A$2:A2<>"",ROW($A$1:A1))))&INDEX($B$2:B2,MAX(IF($B$2:B2<>"",ROW($A$1:A1)))),A2&B2)) これは配列数式になってしまいますので、この画面からコピー&ペーストしただけではエラーになると思います。 G2セルに貼り付け後、F2キーを押す、またはG2セルをダブルクリック、または数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定します。 このF2・G2セルを範囲指定し、G2セルのフィルハンドルで下へずぃ~~~!っとコピーしておきます。 そして、I1セルに =IF(COUNT($F:$F)<COLUMN(A1),"",INDEX($D:$D,SMALL($F:$F,COLUMN(A1)))) という数式を入れ列(右)方向にオートフィルでコピー これで各商品が重複なしに表示できます。 I2セルに =IF($A2="","",SUMPRODUCT(($G$2:$G$1000=$A2&$B2)*($D$2:$D$1000=I$1)*($E$2:$E$1000))) という数式を入れ、列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 尚、画像では「0」が表示されていますが、目障りであれば 当方使用のExcel2003の場合ですが、 メニュー → ツール → オプション → 表示タブ → 「ゼロ値」のチェックを外せば「0」は表示されなくなります。 もし、作業用の列が目障りであれば遠く離れたデータに関係ない場所に作業用の列を設けても構いません。 以上、長々と書きましたが 的外れならごめんなさいね。m(__)m

  • stuff_ppo
  • ベストアンサー率62% (27/43)
回答No.2

I2に以下を入力して、enter 次にI2をコピーして、他のセルに貼付けてください。 =IF($A2="","", IF(I$1=$D2,$E2, IF(AND(OFFSET($A2,1,)="",I$1=OFFSET($D2,1,)),OFFSET($E2,1,), IF(AND(OFFSET($A2,1,)="",OFFSET($A2,2,)="",I$1=OFFSET($D2,2,)),OFFSET($E2,2,), IF(AND(OFFSET($A2,1,)="",OFFSET($A2,2,)="",OFFSET($A2,3,)="",I$1=OFFSET($D2,3,)),OFFSET($E2,3,), IF(AND(OFFSET($A2,1,)="",OFFSET($A2,2,)="",OFFSET($A2,3,)="",OFFSET($A2,4,)="",I$1=OFFSET($D2,4,)),OFFSET($E2,4,), "")))))) 改行はそのままで大丈夫です。 1つの支店(?)が連続5行使っても大丈夫なように作ってあります。  --- 実際の商品の種類は、画像のこの例のように数個でしょうか? であれば、 県、階数、支店名、柿(の個数)、林檎(の個数)、メロン(の個数) 1行に関連するデータをすべて入るようにすると、 集計も関数作成も楽になりますよ。 今後新しい表を作る際の参考にしてください。

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

申し訳ありませんが、 >A2~E7の表を同じシート内の薄緑の部分が自動で表示されるようにしたいです。 これを分かりやすく説明し直してください。(日本語になってないぜ) また、添付した図はどのような事をしているのかも説明してください。 多くの人は、この質問しか見ていませんので、質問者さんがどのような経緯で再質問をしているのか分かりません。 または質問履歴を公開してくだされば、そこから読み取ることができるでしょう。 つーか、疑問が解決していなかったと言うことだよね。 代わりにやってもらってその場の問題は解決したけど、質問者さんが理解をしていないために 同じような問題に直面して慌てている…と言う状況と思います。 ですので一から説明して理解に繋がる回答が寄せられるのを待ちましょう。

miruo_o
質問者

補足

説明が足りず、申し訳ありませんでした。 とりあえず 1行目は題名みたいなものです。 2行目からは日々データ更新される表です。 例えば セルA2~E3は 東京3F足立店には柿20個と林檎100個がある事を表しています。 これをセルI2~K2の“1行”で柿20個と林檎100個がある事を表したいです。 A~E列のデータが変われば それに対応してI~Kの数字も変わるようにしたいです。

関連するQ&A