教えて!gooグレードポイントがdポイントに!

添付図のように、A列に縦に複数の名前が入っていて(表1)、これを横に名前を並べて表2のように名前毎の数値をグラフ化したいのですが。

これはきっと需要が有ると思ってNETで探してみたのですがヒットしないので。

「エクセル 表の書式を変更したい」の質問画像
教えて!goo グレード

A 回答 (3件)

普通に手作業でやればいいと思うんだ。



A列の ”名前”? をまとめてコピーして、D列に貼り付けあと重複を除く。
A列コピー → D列のセルを選択して「貼り付け」→ リボンのツールからデータ ツールの「重複の削除」。
D列のデータ範囲を複製して、行列を入れ替えてE2セルに貼り付け。
D列を削除する。

あとは数式をつかうなり、A列の値で並べ替えて上から順番に該当データを複製してD列以降に貼り付けたり…。

・・・

自分はめんどくさがり屋だから、C列に名前のカウント数を入れて、
(C2セルに ”=COUNTIF($A$2:A2,A2)” と入力して必要な行まで複製)
A1セルに「名前」、B1セルに「データ」、C1セルに「No.」と入力して、
A列からC列をピボットテーブルにする。
「列」に「名前」
「行」に「No.」
「値」に「データ」
です。

あとはピボットテーブルを選択してからグラフを作成する。
「エクセル 表の書式を変更したい」の回答画像2
    • good
    • 1
この回答へのお礼

ピボットテーブルは大昔に何度か使って以来ご無沙汰しておりましたが、ご回答で解決できました。

お礼日時:2022/05/26 16:45

ニーズとグラフ化の意味が?ですが


表2を作成する数式になります。
ローテクで少々長くなりますが、以下のセルに数式を入れてみてください。

1人目は重複することがないのでダイレクト指定
D2セル: =A2

2人目(E列)以降は重複していない人を表示
配列数式で
E2セル: =IFERROR(VLOOKUP("*",IF(COUNTIF($D$2:D2,OFFSET($A$2,,,COUNTA($A:$A)))=0,OFFSET($A$2,,,COUNTA($A:$A))),1,0),"")
[Ctr+Shift+Enter]で入力確定し右のセルへCOPY

数値は氏名検索し、ヒットした場合に行№を取得し、INDEXで表示
配列数式で
D3セル:=IFERROR(INDEX($B:$B,SMALL(IF(OFFSET($A$2,,,COUNTA($A:$A))=D$2,ROW(OFFSET($A$2,,,COUNTA($A:$A))),""),ROW(A1))),"")
[Ctr+Shift+Enter]で入力確定し右および下のセルへCOPY

表1のセル範囲は人数に合わせてOFFSET(可変)対応しています。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

この力作の式が当方に使えるとは思えず。。。

また回答はVBAになるかと思っていましたが、No2さんのピボットテーブルで解決出来ました。

お手数をおかけしてしまいました。

お礼日時:2022/05/26 16:47

「グラフ化」の意味が不明。


Excelのバージョンも不明。

ひとまずデータを組み換えするだけならテーブル書式を入れてクエリで
やればいいでしょう。

行のグループ化→連番追加→展開→列のピボット
「エクセル 表の書式を変更したい」の回答画像1
    • good
    • 0
この回答へのお礼

ご回答ありがとございます。

当方にはご回答のレベルが高すぎて手が出ません。

お礼日時:2022/05/26 16:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング