エクセルです。


Aの欄に山田、田中、斉藤・・・・(200個くらい)と苗字があり、Bの欄に花子、太郎、次郎・・・(100個くらい)名前があります。



これらを合体してCの欄に
山田 花子
山田 太郎
山田 次郎
・・・


のように、苗字(山田)と名前すべてを合体したものを作っています。
ex) A1 &" "& B1 のような感じ


Dの欄に斉藤+名前、Eの欄に斉藤+名前を作りたいのですが、これを簡単に(コピーなどして)作る方法を教えてください。


急ぎです!
無事解決(簡単にできたら)100pt!!

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2006/11/05 16:06:32
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント100pt

Dの欄に斉藤+名前って 田中+でいいんですよね?

順からすると

D列に

=$A$2 & " " & $B1

E列に

=$A$3 & " " & $B1

といれて そのセルをコピーして かずぶん 貼り付けてください。

id:konchan117

すいません田中です。

ついでに、田中、斉藤・・・・・っていっぱいあるので、それもお願いします。

2006/11/02 15:01:00
id:openseed No.2

回答回数51ベストアンサー獲得回数6

ポイント10pt

お急ぎのようでしたので、もう解決済みかもしれませんね。

回答がかぶってしまうかもしれませんが、参考まで。

※ 目的は、テストデータの作成とかですかね。


セルC1には

=INDIRECT("A"&COLUMN(A1))&" "&INDIRECT("B"&ROW(B1))

が書かれて、それをマウスのドラッグアンドドロップで(C1:F3)へコピーしています。



A B C D E F
1 山田 花子 山田 花子 田中 花子 斉藤 花子 近藤 花子
2 田中 太郎 山田 太郎 田中 太郎 斉藤 太郎 近藤 太郎
3 斉藤 次郎 山田 次郎 田中 次郎 斉藤 次郎 近藤 次郎
4 近藤





上記の例を書きましたが、コメントにあるように、マトリクスにしたほうが、スマートですね。


セルB2には

=B$1&" "&$A2

が書かれて、それをマウスのドラッグアンドドロップで(B2:E4)へコピーしています。




A B C D E
1
山田 田中 斉藤 近藤
2 花子 山田 花子 田中 花子 斉藤 花子 近藤 花子
3 太郎 山田 太郎 田中 太郎 斉藤 太郎 近藤 太郎
4 次郎 山田 次郎 田中 次郎 斉藤 次郎 近藤 次郎


あと、200個であれば問題ないと思いますが、Excelは、256行がMAXなので注意が必要です。※ 苗字と名前のうち少ない方を行としたほうが良いかもしれません。

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 ootatmt 1307 1197 65 2006-11-02 15:14:04
2 きゃづみぃ 13539 10064 1198 2006-11-02 15:14:15
3 ota2244 77 69 4 2006-11-02 15:17:17
  • id:takejin
    マトリクスで表示すればいいのでは?
    縦が苗字、横が名前で表になってればいいのでしょ。
  • id:yuki_n
    ちょっと、条件から逸脱するので、コメントで。
    上の方がおっしゃられるように、マトリクス表示が楽かと。。

    ① 1行目の上に空行挿入 (左端の灰色部分の【1】を右クリックでiボタン押下
    ② B列の値を全て選択、切り取り(Ctrl+x
    ③ B1セルを選択して、形式を選択してはりつけで行列を入れ替えるにチェックを入れてOKボタン押下
    ④ B2に【=$A2&" "&B$1】この式を入れる。
    ⑤ B2を選択し、コピー (Ctrl+c
    ⑥ 苗字と名前に囲まれている部分全てを選択して、ペースト(Ctrl+V

    思い付きですので、他にもあるかもしれませんね。。 (^^;
  • id:antipattern
    マトリクスでやればできるじゃん。と思って解答書き終わったところで、すでにコメントに書かれてることに気づきました^^;
    多分これが一番楽ですよね。
  • id:konchan117
    皆様コメントなどありがとうございます。
    結局、コピーしてなんだかんだやってたら出来ましたので、終了させていただきました。
    エクセルを全然わかっていなかったので。。。お勉強します。
    ありがとうございました。
  • id:ootatmt
    コメント欄に回答書くかなぁ...
  • id:openseed
    INDIRECT 関数使って、「質問の通り」の回答を書いたのに開いてもらえずショック・・・(笑)
    でも、質問の意図をくみ取って、いちばんスマートな回答がいいですよね。そういう意味で、マトリクスが最善だったのかも。

    たとえば、結果だけが欲しいのであれば・・・

    Dim arrFirstName As Variant
    Dim arrLastName As Variant

    arrFirstName = Array("花子", "太郎", "次郎")
    arrLastName = Array("山田", "田中", "斉藤", "本田")

    Dim i As Integer
    Dim j As Integer
    Dim cell As String
    Dim value As String


    For i = 0 To UBound(arrLastName)
      For j = 0 To UBound(arrFirstName)
        cell = Chr(Asc("C") + i) & (j + 1)
        value = arrLastName(i) & " " & arrFirstName(j)
    'セルに直接値代入
    '    Range(cell).FormulaR1C1 = value
        Debug.Print cell & "=" & value
      Next j
    Next i

    というのも、ありかも。

    って、目的が達成してしまえば、興味ないですかね・・・。
    「同じ目的」を「異なる手段」で見たり試したりすることで、ノウハウってたまっていくと思いますよ。それが、「お勉強」だとおもうんだけどなぁ...

    老婆心ながら...
    (まぁ回答を書いているほうも自己満足の部分や再認識するきっかけをもらっていたりすることも大きいすが・・・)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません