• ベストアンサー

エクセルで一覧作成

エクセルで一覧作成 エクセルで以下のデータを作成したいのですが どのような関数を使用したらよいのでしょうか?    A   B  C  D 1 東京 田中 鈴木 小林 2 東京 鈴木  3 大阪 伊藤 鈴木  4 東京 佐藤 5 三重 小林 田中        ↓    A   B   C   D   E   F   G 1 東京 田中 鈴木 小林 鈴木 佐藤 2 大阪 伊藤 鈴木 3 三重 小林 田中 よろしくお願いします。

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

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

こんばんは! 参考になるかどうか判りませんが・・・ かなり強引な方法になります。 そして制約も多いです。 ↓の画像で説明させていただくと Sheet1の氏名の列は最大9列までで、行方向は100行目までのデータとしての方法です。 Sheet1に作業用の列(表)を設けています。 まず、Sheet1のK2セルに =IF(COUNTIF($A$2:A2,A2)=1,ROW(A1),"") としてオートフィルで下へコピーします。 (これは都道府県の重複しているものをSheet2に重複なしに表示するためです) 続いて、Sheet1のL2セルに =IF(B2="","",MATCH($A2,Sheet2!$A$2:$A$50,0)*1000+ROW(A1)*10+COLUMN(A1)) Sheet2のA列にまだデータが表示されていない段階ではエラーになると思いますが、無視して数式を入れコピーしてみてください。 (Sheet2のA列に数式を入れオートフィルでコピーした後ならエラー表示にならないと思います。) という数式を入れ、列方向は9列分・行方向は100行目までオートフィルでコピーします。 この数値を元にSheet2に表示させます。 Sheet2のA2セルに =IF(COUNT(Sheet1!$K$2:$K$100)<ROW(A1),"",INDEX(Sheet1!$A$2:$A$100,SMALL(Sheet1!$K$2:$K$100,ROW(A1)))) という数式を入れオートフィルで下へコピーします。 そして、B2セルには =IF(SUMPRODUCT((Sheet1!$L$2:$T$100>=ROW(A1)*1000)*(Sheet1!$L$2:$T$100<ROW(A2)*1000))<COLUMN(A1),"",INDEX(Sheet1!$B$2:$J$100,MOD(INT(SMALL(Sheet1!$L$2:$T$100,COLUMN(A1)+COUNTIF($B$1:$J$1:B1:J1,"?*"))/10),10),MOD(SMALL(Sheet1!$L$2:$T$100,COLUMN(A1)+COUNTIF($B$1:$J$1:B1:J1,"?*")),10))) という長い数式を入れ、列方向と行方向へオートフィルでコピーすると 画像のような感じになります。 以上、長々と書きましたが お役に立てば良いのですが・・・ かなり強引な方法ですので、 他に良い方法があれば読み流してくださいね。m(__)m

taka495
質問者

お礼

どうもありがとうございます。 このやり方でできました。 画像つきで解説していただきとてもわかりやすかったです。

関連するQ&A

  • エクセルで・・・

    エクセルで以下のシートがあります。 A   B  C  D 小林  ●  ●  ● 田中 佐藤  ●     ● このシートで、B/C/D列に数にかかわらず、一つでも『●』が入っていたら、1とカウントしたいのです。上のシートでいけば、小林は『1』、田中は『なし』、佐藤は『1』で、合計『2』とカウントしたいのです。どのような関数を使えばいいでしょうか?宜しくお願い致します。

  • エクセル 固定について

    エクセル2003です。初心者です。 現在、名前とアドレスの一覧表を作成しています。    A         B     C D 1 名前     アドレス      名前       住所 2 鈴木     ・・・・@・・・・・     小林      ・・・・・・・・ 3 佐藤     ・・・・@・・・       林      ・・・・・・・・ こんな表を作っています。 A1-B3でひとつの表、C1-D3でひとつの表です。 CD側の表を固定したいのですが可能でしょうか? 例えば、ABのほうの表の鈴木さんの列を削除すると、 CDの表の小林さんも削除されてしまうと思うのですが、 ABの表の鈴木さんの列を削除しても、CDの表の小林さんは 削除されないようにしたいのです。 よろしくお願い致します。

  • エクセルの関数がわかりません

    A2・B2に自動的に文字が入力されるようにしたいのですが条件があって、A1は「田中」・B1は「佐藤」・C1は「東京」・D1は「大阪」と入力します。そしてC2に「田中」と入力するとA2には「東京」と表示され、D2に「佐藤」と入力するとB2には「大阪」と表示されるようにしたいのです。しかし、C2・D2に同じ文字を入力すると「エラー」と表示されるようにしたいのです(田中を2つ入力するとA2にエラーと表示したいです)。よろしくおねがいします。

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

    エクセルのデータ並べ替え(抽出)の方法 を教えてください。 下記のようなデータがあるとします。   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愛媛  鈴木 こういうことは可能でしょうか??? 教えてください。 よろしくお願いします。

  • エクセルでの集計関数No.2

    前回の質問より複雑なデータの集計が飛び込んで困っています。 例    A   B   C   D   E   F   G   H   I   J 1  鈴木 田中 佐藤 八木 石島 須藤 徳間 遠藤 伊藤 斉藤 2  田中 八木 田中 遠藤 鈴木 伊藤 佐藤 佐藤 鈴木 徳間 3  石島 鈴木 徳間 鈴木 伊藤 .... といったデータが存在しています(A1:J3)の範囲内で最頻値の文字列を検出する関数の組み合わせを教えてください。回答例 鈴木  しかも、鈴木 佐藤が同一の場合メッセージを表示させるには..とほほです。よろしくお願いします。                                               

  • エクセルで2つのリストを統合するには?

    エクセルの別々のシートにある2つのリストを統合したいのですが、過去の質問などを見てもうまくいきません。具体的には 【表1】 番号 氏名 住所 A 佐藤 東京 B 高橋 神奈川 C 渡辺 埼玉 D 田中 千葉 E 小林 山梨 【表2】 番号 氏名 年齢 B 高橋 22 D 田中 45 という2つの表で、これを 番号 氏名 住所 年齢 A 佐藤 東京 B 高橋 神奈川 22 C 渡辺 埼玉 D 田中 千葉 45 E 小林 山梨 のようにまとめたいのです。 「データの統合」を使ってみましたがうまくいきませんでした。よろしくお願いします。

  • エクセルで2つの条件を元に

    エクセル2007で名簿を作っています。 1ヶ月ごとにメンバーの順が変わります。 シート1(番号順に名簿を作りました)   A  B   C  1 1     山田 2 2     木村 3 3 副長 佐藤 4 4     鈴木 5 5 班長 田中 6 6     長田  シート2(こちらがメンバーに配る名簿です)   A   B  C   D 1 班長    1    3 2 田中    山田  鈴木 3 4 副長    2    4 5 佐藤    木村  長田 A2に田中,A5に佐藤を選んでくるのはvlookupで成功しました。 質問したいのは C列D列に上記の番号のようにシート1の名前を入れていきたいのですが,田中,佐藤の分を抜いた上で番号の若い順に選んできたいのです。 どのような関数をどのように使えば成功するでしょうか。  

  • エクセルで複数のシートから、データを取り出し、一覧表を作成。

    エクセルで複数のシートから、あるデータを取り出し、別のシート(又はブック)に一覧表を作成することはできますか? シート1 東京支店    A   B   C 1東京支店  2 3          50 シート2 大阪支店    A   B   C 1大阪支店  2 3          30 新シート(又は新ブック)    A   B   C 1東京支店 50  2大阪支店 30 3     

  • エクセルでランダムに並び替える方法

      A  B  C 1 A組 石井 1 2 A組 伊藤 2 3 B組 山下 3 4 B組 佐藤 1 5 C組 吉田 2 6 D組 鈴木 3 と記載したシートで、AとB列をランダムに並べ替えて   A  B  C 1 B組 佐藤 1 2 C組 吉田 2 3 D組 鈴木 3 4 A組 伊藤 1 5 A組 石井 2 6 B組 山下 3 のように班を決定することは関数では可能ですか? 過去ログを色々見たのですが、いまいちよくわからなかったので、トピ作成してしまいました。

  • エクセルの関数がわかりません

    (1)以前に下記の質問をしました↓ A2・B2に自動的に文字が入力されるようにしたいのですが条件があって、A1は「田中」・B1は「佐藤」・C1は「東京」・D1は「大阪」と入力します。そしてC2に「田中」と入力するとA2には「東京」と表示され、D2に「佐藤」と入力するとB2には「大阪」と表示されるようにしたいのです。しかし、C2・D2に同じ文字を入力すると「エラー」と表示されるようにしたいのです(田中を2つ入力するとA2にエラーと表示したいです)。よろしくおねがいします。 (2)回答は↓ A2: =IF(C2="","",IF($C2=$D2,"エラー",INDEX($C$1:$D$1,1,MATCH(C2,$A$1:$B$1,0)))) B2: =IF(D2="","",IF($C2=$D2,"エラー",INDEX($C$1:$D$1,1,MATCH(D2,$A$1:$B$1,0)))) この答えで満足だったのですが、 E1に神戸・F1に福岡と追加して、C2~F2に田中・佐藤はそれぞれ1回入力します。 この時、同じ名前を2回入力すると、エラーと表示されるようにしたいのです。 よろしくお願いします。