• ベストアンサー

エクセルで関数などを使って行列を変更する。

シート1に 下記のように入力されているシートを     A     B     C 1    1000   1   45 2    1000   4   78(以下同じように配列されているものとします。) 3 1001 2 14 4 1000 2 36 5 1001 1 91 6 1001 4 47 7 1000 3 25 8 1001 3 64 シート2に次のようにすることは可能でしょうか?    A     B     C    D    E 1        1      2    3   4 2  1000    45    36    25    78 3  1001    91    14    64    47 初歩的な質問で申し訳ありませんが、よろしくご教授ください。

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

  • ベストアンサー
  • kakkysan
  • ベストアンサー率37% (190/511)
回答No.2

例示された物がどのように変換しているのか解りづらいのですが 単に行と列を入れ替えるだけなら 元になる領域をコピー⇒コピー先の左上のセルで、「形式を選択して貼り付け」⇒行と列を入れ替える⇒OK でできます。 見当違いならごめんなさい

kuwakuwakuwa
質問者

お礼

早速の回答ありがとうございます・参考にさせていただきます。

その他の回答 (3)

noname#204879
noname#204879
回答No.4

Sheet2 のセル B2 に次式を入力して、此れを範囲 B2:E3 に複写 =SUMPRODUCT((Sheet1!$A$1:$A$8=$A2)*(Sheet1!$B$1:$B$8=B$1),Sheet1!$C$1:$C$8)

kuwakuwakuwa
質問者

お礼

早速の回答ありがとうございます・参考にさせていただきました。関数式の意味をしらべたところ自分のシートに合った方法が見つかりました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 必要に応じて、式の範囲を変更してください。 Sheet2    A   B   C   D   E 1      1   2   3   4 2  1000  45  36  25  78 3  1001  91  14  64  47 4  1002 B2:~下・右へ =IF(OR(COUNTIF(Sheet1!$A$1:$A$8,$A2)=0,COUNTIF(Sheet1!$B$1:$B$8,B$1)=0),"",INDEX(Sheet1!$A$1:$C$8,MAX(INDEX((Sheet1!$A$1:$A$8=$A2)*(Sheet1!$B$1:$B$8=B$1)*ROW(Sheet1!$A$1:$A$8),,)),3))

kuwakuwakuwa
質問者

お礼

早速の回答ありがとうございます・参考にさせていただきます。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

TRANSPOSE関数ですね Sheet2のA1に =TRANSPOSE(Sheet1!A1:C8) 次に Sheet2 の A1 から E3 を範囲して F2 を押す(A1を編集状態にする) A1を編集の状態から Shift + Ctrl + Enter Sheet2 の A1 から C3 に行列を入れ替えた参照が出来上がります。 ※セルを一つずつ選択して参照貼り付けしても出来ますが、この方が早いです。

kuwakuwakuwa
質問者

お礼

早速の回答ありがとうございます・参考にさせていただきます。

関連するQ&A

  • Excelでキーを使って関数で列を行に変更したい

    Excelで下記の事を関数で行うことが出来るでしょうか?方法を知っている方がいましたらお教えください sheet1    A B   1 1 33  2 1 33  3 1 34  4 1 45  5 2 21  6 2 25  7 2 25  sheet2    A  B  C  D  E   1  1  33 33 34 45 2  2  21 25 25 Sheet1の状態のキーをA列とした場合に、 Sheet2でキーをA列に入力後 B1 C1 D1 E1 に 関数を使って列でまとまっているデーターを 行にする方法が分かる方、お教え願います。 (Sheet2の B1 C1 D1 E1に入れる関数の 組み方が分からないと言うことです。 また、マクロはわからないので><) よろしくお願い致します。

  • Excelでキーを使って関数で列を行への変更

    Excelで下記の事を関数で行うことが出来るでしょうか?方法を知っている方がいましたらお教えください sheet1    A B   1 1 33  2 1 33  3 1 34  4 1 45  5 2 21  6 2 25  7 2 25  sheet2    A  B  C  D  E   1  1  33 33 34 45 2  2  21 25 25 Sheet1の状態のキーをA列とした場合に、 Sheet2でキーをA列に入力後 B1 C1 D1 E1 に 関数を使って列でまとまっているデーターを 行にする方法が分かる方、お教え願います。 (Sheet2の B1 C1 D1 E1に入れる関数の 組み方合わせが分からないと言うことです。 また、マクロはわからないので><) よろしくお願い致します。 実際にはsheet1のデータが1万件近くあるので、手作業は、辛いです。また、sheet1のA列キー以外のデーターが頻繁に変わるので効率よく作業したいの思いがあります。

  • Excelについて 適した関数探してます

    シート1に下のようなデータがあり、 A1~A10が番号 B1~B10が○ C1~C10が△ D1~D10が□ E1~E10が× シート2に、A1に番号を入力すると B2に○ C3に△ D3に□ E3に× (○△□×は、数字やデータがはいってます) 解りづらかったらすいません。 要は、シート2のA1に、番号をいれると、シート2のB2~E3に、シート1のデータがでるようにしたいのです。 このような事をしたいのですが、VLOOKUPでできますか? 他に適した関数、式の立て方はありますでしょうか? 挑戦してるのですが、なかなかできません。 XPで、Excel2003です。 良かったらご意見くださいm(_ _)m

  • エクセルのドラッグ機能について

    初めまして、エクセルのドラッグで質問があります 下記の様な状況 A B C D E F  ̄ ̄ ̄ ̄ ̄ ̄ 1あいうえお 2かきくけこ 3さしすせそ    .    .    . 155あかさたな とあるとします 上記の図を別のフォルダのシートのA1(自動リンクさせるため)に 'D:\?????\文字\[配列.xls]シート1'!$B1と貼り付けました 次に 貼り付けたA1からA2、A3~以下略へドラッグして行くと A1='D:\?????\文字\[配列.xls]シート1'!$B1 A2='D:\?????\文字\[配列.xls]シート1'!$B2 A3='D:\?????\文字\[配列.xls]シート1'!$B3 とドラッグがされますが これを列A,行1~列A,行11に A1='D:\?????\文字\[配列.xls]シート1'!$B1 A2='D:\?????\文字\[配列.xls]シート1'!$B15 A3='D:\?????\文字\[配列.xls]シート1'!$B29           .           .           . A11='D:\?????\文字\[配列.xls]シート1'!$B155 と間隔的(規則的等)にドラッグをかける事は可能でしょうか? 手打ちだと時間が掛かり過ぎて大変です もし可能でしたらご回答を宜しくお願い致します               

  • EXCELの関数について

    EXCELで以下の事をしたいのですが、できますでしょうか?もし質問の意味や条件が分かりにくければ追加で説明させていただきます。  A B C D E 1   1 2       1 3 1 この場合に1とカウントする。(A~Eのどこでもよいが、1~3行目のすべてに1が1つずつ入れば1とカウントする。)  A B C D E 1   1 2       1  1 3 1   1 この場合に2とカウントする。(A~Eのどこでもよいが、1~3行目のすべてに1が2つずつ入れば2とカウントする。ただし以下のB1のマスのように2と入力されていれば1行目に1が2つあるという計算で、2とカウントする。)  A B C D E 1   2 2       1  1 3 1    1 このような事が可能でしょうか?よろしくお願いします。

  • エクセルの関数

    エクセルの関数 ですが、 SUMIF を使いたいのです。 シート1の 1行目には 見出しが入っています。 A2~A50に、A店 B店 C店 D店 がランダムに入っています。 B2~B50に、名前が入っています。 C2~C50に、売上の数字が入っています D2~D50に、すべてに 1 が入っています。 E2~E50には、ところどころに 1 が 入っています。 シート2に、SUMIFを使って、E2~E50に入っている 1 の人だけの 各店の合計を出したのですが、どうやったらいいのですか? シート2のA1にはA店 A2にB店 A3にC店 A4にD店 が入っています。 そうすると、シート2のB2には、 =SUMIF(Sheet1!A2:A50,A2,Sheet1!$C$3:$C$50) となるということでいいのですか? ですが、 これは、各店の全体の合計です。 やりたいのは、E2~E50に 1 が 入ってる人のみ 各店の 合計を シート2の B列にだしたいのです。 関数の方法を教えてください

  • エクセルの関数

    エクセルで、下記のような答えを出す場合どの様な式を入力すればいいでしょうか。 A1-B1の答えと、C1-D1の答えを足したものをE1に出す。 (A1-B1)+(C1-D1)=E1 この様な説明で分かりますでしょうか・・ 宜しくお願いします。

  • EXCELの関数についてご教授ください。

    EXCELの関数についてご教授ください。 【質問内容】 以下エクセルのデータがあるとします。 A       B  C  D   E F 2013/10/1 新 100 2013 10 1 2013/10/1 旧 100 2013/10/1 新 101 2013/10/1 新 102 2013/10/1 旧 102 2013/10/1 新 103 2013/10/1 旧 110 2013/10/1 旧 110 2013/10/1 旧 110 2013/10/2 旧 110 ※D1,E1,F1には任意の日付を入力できるイメージ (1) D1,E1,F1にそれぞれ上記の値(2013年10月1日)を入力した場合、 A列が「2013/10/1」かつ B列が「新」の件数は 「4件」 と出力されるようにしたいです。 ※「100」「101」「102」「103」が集計され計4件 ※この場合(B列が新の場合)はC列は同じ値は入らないので考慮しなくてよい (2) D1,E1,F1にそれぞれ上記の値(2013年10月1日)を入力した場合、 A列が「2013/10/1」かつ B列が「旧」で C列が「重複しているものは1件でカウント」すると 「3件」 と出力されるようにしたいです。 ※「100」「102」「110」が集計され計3件 ---------- (1)は以下自力で解決出来るようなのですが、 =SUMPRODUCT((A1:A$10=DATE(D1,E1,F1))*(B1:B10="新")) (2)が難解すぎて質問させて頂きました。 皆様お忙しいところ、大変申し訳ございませんがお力をお借りしたく思います。

  • エクセルでフィルターのような関数

    シート1(入力シート)  A   B  C   D Aさん 80点 A地区 15歳 Bさん 70点 B地区 16歳 Cさん 60点 C地区 17歳 Dさん 80点 B地区 16歳 Eさん 90点 C地区 15歳 と作りました 今まではフィルターを使いコピーをして貼り付けで やっていたのですが・・何もしないで印刷だけをするようにしたいと思っています。 シート2  A  B A地区 Aさん B地区 Bさん     Dさん C地区 Cさん     Eさん B列にVLOOKUPで関数入力したのですが・・ 1人しかあがってきません。 何かよい方法ありましたら教えてください。 宜しくお願いします。

  • Excel 関数 置換をしたい

    たとえば○,△,□,☆が点在しており、 ○→丸,△→三,□→四,☆→星,に置換したい場合に何か有効な関数はありますか? 具体的にはシート1 A B C D E 1  △ 2□ 3○   ☆ 4 を シート2で下記のようにしたいです A B C D E 1  三 2四 3丸   星 4 だれかお知恵を拝借させてください

専門家に質問してみよう