• ベストアンサー

エクセル2007で総当り表を作りたいです。

エクセル2007で俗に言う総当り表を作りたいのですが、分からないことがあり作成が進みません。 あれこれ調べてみたのですが私自身関数が得意というわけでもなく…こちらで質問させていただきます。 画像のように (1)2行目のデータを、関数・オートフィルを用いて2列目に並べなおす (2)同一のデータ同士が当たらないように、斜めに線を(自動で)引く という状態にしたいと考えています。 それぞれ、どのような設定・関数を用いればよいのでしょうか?

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

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

こんばんは! 質問の操作に関しては関数云々というより、コツコツ手を動かして操作するしかないと思います。 (1)2行目データを範囲指定 → 右クリック → コピー (2)A3セルを選択 → 右クリック → 形式を選択して貼り付け → 「行列を入れ替える」にチェックを入れOK (3)Ctrlキーを押しながら斜線を入れたいセルを選択 → 右クリック → セルの書式設定 → 「罫線」タブで「右下がりの斜線」を選択しOK (4)最後にA2セル~最終セルを選択 → 罫線の「格子」を選択しOK こういった流れになると思います。 これを自動で!というコトであればVBAになってしまいますが、一例です。 表を作成したい元データはB2セルから列方向に並んでいるとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim j As Long, lastCol As Long lastCol = Cells(2, Columns.Count).End(xlToLeft).Column Range(Cells(2, "B"), Cells(2, lastCol)).Copy Range("A3").PasteSpecial Paste:=xlPasteAll, Transpose:=True For j = 2 To lastCol + 1 Cells(j, j - 1).Borders(xlDiagonalDown).LineStyle = xlContinuous Next j With Range("A2").CurrentRegion .Borders.LineStyle = xlContinuous .HorizontalAlignment = xlCenter End With End Sub 'この行まで ※ おそらく一度だけの操作になると思いますので、 わざわざマクロでやるよりご自身で手を動かした方が良いと思います。m(_ _)m

is_iz
質問者

お礼

わざわざコードまで載せていただきまして…!心の底から感謝です(*^^*) 私は思った以上に複雑な総当り表を作ろうとしていたようです…初心者が欲張るものじゃないですね。 いざとなったら自分の手で頑張ります(笑) 丁寧なご回答、ありがとうございました!

関連するQ&A