• ベストアンサー

Excel行毎に項目列数の違う表を行列変換したい

A列に何かしらの名称、B列以降に文字列値があるとします。 鈴木|あああ|いいい|ううう| 佐藤|えええ|   |   | 田中|ううう|かかか|   | ・・・ という表を、 鈴木|あああ 鈴木|いいい 鈴木|ううう 佐藤|えええ 田中|ううう 田中|かかか ・・・ というように変換したいのですが、うまい方法ありませんか?

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

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

シート1ではお示しの表がA,B,C,D列の2行目から下方に入力されているとします。 E列を作業列としてE1セルには0を入力し、E2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",COUNTA(B2:D2)+MAX(E$1:E1)) お求めの表をシート2のA,B列の2行目から下方に作るとしてA2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(INDEX(Sheet1!A:A,MATCH(ROW(A1)-1,Sheet1!E:E,1)+1)=0,"",INDEX(Sheet1!A:A,MATCH(ROW(A1)-1,Sheet1!E:E,1)+1)) B2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",INDEX(Sheet1!A:D,MATCH(A2,Sheet1!A:A,0),COUNTIF(A$2:A2,A2)+1))

hogenyam
質問者

お礼

関数だけでできるという事に驚きです。ありがとうございました。

その他の回答 (1)

noname#208392
noname#208392
回答No.2

せっかく書いてたのに、質問削除しないでよ。 で、本題です。 名前の列を後に続く列の間にはさんでいって、右から2列ずつ表の下に移していったらどうでしょう。 機械的な作業でできますから、VBAで自動化も簡単ですね。 空白行ばかりができるかもしれませんが、第2行でソートすれば空白行だけ集めることができます。そうしてまとめて削除。 最後に第2行でソートすれば出来上がりです。 具体的にはこんな風です。 鈴木|あああ|いいい|ううう| 佐藤|えええ|   |   | 田中|ううう|かかか|   | 鈴木|あああ|鈴木|いいい|鈴木|ううう| 佐藤|えええ|佐藤|   |佐藤|   | 田中|ううう|田中|かかか|田中|   | 鈴木|あああ|鈴木|いいい| 佐藤|えええ|佐藤|   | 田中|ううう|田中|かかか| 鈴木|ううう| 佐藤|   | 田中|   | 鈴木|あああ| 佐藤|えええ| 田中|ううう| 鈴木|ううう| 佐藤|   | 田中|   | 鈴木|いいい| 佐藤|   | 田中|かかか| 以下略

hogenyam
質問者

お礼

>せっかく書いてたのに、質問削除しないでよ。 申し訳ありませんでした。A列とB列以降の違いがわかりにくいかなと思って削除して加筆・再投稿してしまいました。 わかりやすい解説ありがとうございました。参考にさせていただきます。

関連するQ&A

  • エクセル、表から名前を貼り付ける方法

    会社の有給申し込み表を作りたいのですが、 会社の社員名簿(班、名前)の表から名前をクリックするたびに、大きなセル(40文字はいる)へ文字列として追加されるような方法はあるでしょうか? 1班 飯島 田中 鈴木 2班 佐藤 加藤  3班 : : 上記は表になっている 名前をクリックするたびに、セルG20へ 田中、鈴木、加藤‥ となってほしい。 (田中、鈴木、加藤)は一人へ調整などと書き換えたりしたい。 ・・・無理・・・ですかね?

  • エクセルの表をラベルに変換

    エクセルで作った一覧表を、マクロで宛名ラベルのような表に 変換したいです。 たとえば、            A     B      C 1列  152-25   静岡県   松田 2列  258-52   北海道   鈴木 のような表を       A      B      C 1列  152-25 2列  静岡県  3列  松田 のように変換することはできるでしょうか。 マクロ等初心者で、本を読んでもよくわかりません。 よろしくお願いします。

  • Excelで表形式の変更をしたい

    Excelで質問です。 (1)のような表形式を、(2)のように、元の1列ごとに見出しを付けた形式にしたいのですが、マクロなしで可能なのでしょうか? また、マクロの使用・非使用に限らず、以下の操作を実現するマクロや関数を教えていただけると助かります。 よろしくお願いいたします。 関数や式を使ってみましたがうまくいきませんでした。。。 (1) 番号 名前 評価 1  佐藤 A 2  鈴木 B 3  田中 C (2) 番号 1  名前 佐藤 評価 A 番号 2  名前 鈴木 評価 B 番号 3  名前 田中 評価 C

  • エクセルのデータ並べ替え(抽出)の方法

    エクセルのデータ並べ替え(抽出)の方法 を教えてください。 下記のようなデータがあるとします。   A    B    C   D 1 田中  東京  千葉  福岡 2 山田  京都  滋賀 3 佐藤  奈良  青森  USA 4 鈴木  カナダ 愛媛 A列は名前、B列以降は文字列です。B列以降はC列までの行、D列までの行とさまざまです。重複セルはありません。 これを下記のように並べ替えたいです。   A    B    C   D 1東京  田中 2千葉  田中 3福岡  田中 4京都  山田 5滋賀  山田 6奈良  佐藤 7青森  佐藤 8USA   佐藤 9カナダ 鈴木 10愛媛  鈴木 こういうことは可能でしょうか??? 教えてください。 よろしくお願いします。

  • どなたか取り出し方を教えてください

    はじめまして、どなたか教えてください。たとえば Xというテーブルがあって。AとB2つのフィールドがあります A列 B列 鈴木 100 鈴木 125 鈴木 156 佐藤 354 佐藤 552 佐藤 132 田中 151 田中 99 田中 845 というテーブルから a列の中のものはdistinct 的な取り出し方をしつつ B列で最も大きな数字のa行を取り出したいのです 取り出したい結果 A列 B列 鈴木 156 佐藤 552 田中 845 とするにはどうすればよいのかさっぱりわかりません どなたか教えてくださいませ

  • エクセルで二つの表を一つに纏める方法は

    エクセル2007で作成した二つの表を一つに纏めたいのですが、何か方法はございますでしょうか? サンプル1のファイル  A列   B列 山本太朗,東京都 鈴木花子,静岡県 田中太朗,大阪府 サンプル2のファイル  A列   B列 田中太朗,男性 鈴木花子,女性 山本太朗,男性 この二つのファイルを以下のように一つの表に纏めたいのですが 共通項目はA列の名前で並び順に規則性はありません。  A列   B列 C列 山本太朗,東京都,男性 鈴木花子,静岡県,女性 田中太朗,大阪府,男性 エクセルでは厳しいようであれば他の方法を ご教授いただけるとありがたいです。 以上、宜しくお願い致します。

  • エクセルの計算式で表の合計を出す

    A,B a,鈴木 a,佐藤 a, a,鈴木 a, a,加藤 a, b,山田 b,鈴木 b, 上記のようなcsv ファイルがあります。 列Aには、a,b,c,d...といったいくつかの文字がそれぞれ複数あります。 列Bには、人名が入ったセルと空欄のセルが混じっています。 そして、人数の合計を列Aに示された文字ごとに出す方法をお願いします。 理想は、空いているセルに、計算式を入力し、 a,4 b,2 というように表示出来ればベストです。 お願いします。

  • excelで1人ずつ行の高い点数だけ抜きだしたい。

    excelで1人ずつ行の高い点数だけ抜きだすことはできますか。 例) A 列 B列 <=をつけている行が取り出したい行 田中  100 <= 田中  70 佐藤  80 <= 佐藤  70 佐藤  65  ;  ; 宜しくお願いします。

  • エクセルのセルに入力した名前を数値化

    どなたかご教授頂ければ幸いです。 エクセルの文字列(一覧表)に 田中 田中 鈴木 鈴木 佐藤 田中 田中 佐藤 佐藤 鈴木 佐藤 佐藤 と入力されているものを 集計表に 田中・・・4 鈴木・・・3 佐藤・・・5 とし、集計したいのですが、 名前を数値に読み替える方法がわかりません。 良い方法があればお教えください。 部下の月次訪問件数を容易に集計する方法を模索中です。 余計な入力を部下にさせたくないので、プルダウンで自身の 名前を選ぶだけで入力を完了とし、別の場所に作った 集計表に数値(件数)となって落ちていくものを作りたいと考えています。 よろしくお願いします。

  • EXCELで勤務表作成

    勤務表の作成をエクセル2003で作成しています。     1 2 3 4 5 ・・ 鈴木  A A B B 休 佐藤  B B 休 休 A 太田  休 休 A A B 吉田  A B 休 B A 上記のように個人別にその日に何の担当業務をするかで作成されたものを   11月1日        11月2日    ・・・  A 鈴木 吉田      A 鈴木  B 佐藤         B 佐藤 吉田  休 太田         休 太田 と日付ごとに業務別に誰が担当するのか別の表で作成する方法があったら教えて下さい。「最初からその表で作成すれば?」とお思いになるかもしれませんが、大人数の休日の管理が難しいので最初の表の作成方法は変えたくありません。ちなみに表の通り一つの業務に複数名担当することもありえますので、できればそれをふまえた上で回答願います。

専門家に質問してみよう