- ベストアンサー
複数の表を一つにしたい。
表1(2001年) A(施設名) 91(人数) B 75 C 8 D 32 表2(2002年) A 102 C 11 D 50 E 29 F 74 表3(2003年) A 89 D 43 E 25 F 71 G 22 表4 年 2001 2002 2003 A 91 102 89 B 75 - - C 8 11 - D 32 50 43 E - 29 25 F - 74 71 G - - 22 上のように、1~3の3つの表を1つの表(表4)にしたいのですが、どうやったらいいかわかりません。(エクセル2000) 表1が2001年、表2が2002年、表3が2003年のもの、アルファベットが施設名、数字は客数です。 ですので、あったものがなくなったり、前年まであったものが翌年にはない場合もありますし、総施設数も毎年変動します。 施設数は数百ありますので、表を見比べながら記入していくのではなく、どうにかエクセルでの操作でしたいのですが、できるのでしょうか? 説明不足がありましたら、補足しますので、よろしくお願いします。(わかりにくい説明ですみません。)
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
メニューの「データ」「統合」から表をまとめることができます。 「データ」「統合」ででてきたダイアログで それぞれの表の範囲を元データ範囲として選択し 統合の基礎で 上端行□ 左端列□ をそれぞれチェックし「合計」で統合します。
その他の回答 (3)
- yu06
- ベストアンサー率30% (4/13)
念のためすべての式を書いておきます ----------------2001年--------------------------2001年--------------------------2003年 A(セルはJ2) =VLOOKUP($J2,年2002,2,FALSE) =VLOOKUP($J2,年2002,2,FALSE) =VLOOKUP($J2,年2003,2,FALSE) B(セルはJ3) =VLOOKUP($J3,年2002,2,FALSE) =VLOOKUP($J3,年2002,2,FALSE) =VLOOKUP($J3,年2003,2,FALSE) C(セルはJ4) =VLOOKUP($J4,年2002,2,FALSE) =VLOOKUP($J4,年2002,2,FALSE) =VLOOKUP($J4,年2003,2,FALSE) D(セルはJ5) =VLOOKUP($J5,年2002,2,FALSE) =VLOOKUP($J5,年2002,2,FALSE) =VLOOKUP($J5,年2003,2,FALSE) E(セルはJ6) =VLOOKUP($J6,年2002,2,FALSE) =VLOOKUP($J6,年2002,2,FALSE) =VLOOKUP($J6,年2003,2,FALSE) F(セルはJ7) =VLOOKUP($J7,年2002,2,FALSE) =VLOOKUP($J7,年2002,2,FALSE) =VLOOKUP($J7,年2003,2,FALSE) G(セルはJ8) =VLOOKUP($J8,年2002,2,FALSE) =VLOOKUP($J8,年2002,2,FALSE) =VLOOKUP($J8,年2003,2,FALSE)
- yu06
- ベストアンサー率30% (4/13)
LOOkUP関数でできます 準備として表1から3に名前をつける 表1→年2001 表2→年2002 表3→年2003 表4に関数入力する(表4のAはJ2のセルにある場合・・・BはJ3、GはJ8) 2001年のAに「=VLOOKUP($J2,年2001,2,FALSE)」 2002年のAに「=VLOOKUP($J2,年2002,2,FALSE)」 2003年のAに「=VLOOKUP($J2,年2003,2,FALSE)」 年毎にフィルで下方向にコピー(施設A~Gに) データのないところは「#N/A」と表示される→他の関数で空白またはゼロに表示可能 *注意施設A~Gについて同じでないと希望どおり表示できません(大文字や小文字等)
お礼
回答ありがとうございます。 VLOOKUPでできたんですねぇ。 今回は結合でしましたが、参考になりました。 エクセルって難しいです…。
- imogasi
- ベストアンサー率27% (4737/17069)
OKWEBの質問に答えていて、エクセルを使い始めた人は、関数式でと言う方が圧倒的に多いようです。 しかしエクセルは、表から条件のものを抜き出したり、個々の明細をまとめるのは苦手(直ぐには式を思いつかなかったり、出来たものを見ても複雑で、理解するのも大変)の分野だと思います。 本件も計数を合計するなら、「データ」メニューの「統合」が良いと思いますが、(A)施設名で明細を1シートにまとめて(B)横に年度で展開するのは関数式では本当に複雑です。 私ならVBA以外にはないと言いたい。 しかしどれだけ複雑か言うだけでは、説得性がないと思い一例を上げてみます(他の方法はまず出ないでしょう)。 VBAがいやなら、手作業でやるよりし方がないと思います。 (例データ)Sheet1のA1:B5 表1(2001年) A 91 B 75 C 8 D 32 Sheet2のA1:B7 表2(2002年) A 102 C 11 D 50 E 29 F 13 G 24 Sheet3のA1:B8 表3(2003年) A 89 D 43 E 25 F 71 G 22 H 15 J 32 (シート名)H1:H3に、シート名を正確に手入力。 Sheet1 Sheet2 Sheet3 (関数式)Sheet4(列はどこでも良い、しかし式は変わる) F2(F1ではない)に=saikagyo(H1)-1 といれてF4まで式を複写する。 G1に1をいれる(手作業)。 G2に=G1+F2をいれ、G4まで式を複写する。累積を出している。 (結果)F1:H4は 1 Sheet1 4 5 Sheet2 6 11 Sheet3 7 18 になる。列の順序は必須の事情でこの順序にすること。 (関数式)Sheet4で A1に=VLOOKUP(ROW(),$G$1:$H$4,2,TRUE)といれ式を下方に複写する(3シートのデータ行数合計まで、以下同じ)。 B1に=VLOOKUP(ROW(),$G$1:$H$4,1,TRUE)といれて、下方向に複写する。 C1に=INDEX(INDIRECT($A1&"!$a$2:$c$100"),ROW()-$B1+1,1)をいれ下方向に式を複写する。 D1に=INDEX(INDIRECT($A1&"!$a$2:$c$100"),ROW()-$B1+1,2)といれて下方向に複写する。 A,B列は作業列で理解のため出している。本番では目立たない右の方の列に設定するのが良いでしょう。 (結果)下記のC,D列がSheet1-3の合体です。 こんなに複雑です。 更に年月の横展開がありますが、長くなるので略。 Sheet1 1 A 91 Sheet1 1 B 75 Sheet1 1 C 8 Sheet1 1 D 32 Sheet2 5 A 102 Sheet2 5 C 11 Sheet2 5 D 50 Sheet2 5 E 29 Sheet2 5 F 13 Sheet2 5 G 24 Sheet3 11 A 89 Sheet3 11 D 43 Sheet3 11 E 25 Sheet3 11 F 71 Sheet3 11 G 22 Sheet3 11 H 15 Sheet3 11 J 32
お礼
回答ありがとうございます。 あぁ、ほんとに複雑ですねぇ…。 結合で思ったようなものがだいたいできましたので、今回は結合を使いました。 そのうちVBAが使えるように勉強したいですねぇ。
お礼
回答ありがとうございます。 作りたかった表ができました!! あぁ、去年MOUSマスター取ったけど、使いこなせてません。(T_T)