• ベストアンサー

エクセル 文字列操作

重複している姓の人だけ、名の一文字目を()付きで表示させたい場合、 操作列なしで表示させる方法を教えていただけないでしょうか。 姓と名の間に全角スペース有。 =例=  A列         B列 田中 一子     田中(一) 鈴木 二子     鈴木 久留米 三子   久留米(三) 後藤 四太子   後藤 林 五子       林(五) 斉藤 六子     斉藤 久留米 七子   久留米(七) 林 八太子     林(八) 山田 九子     山田 田中 十太子    田中(十)

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

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

こんにちは! すでに回答は出ていますが・・・ ちょっと長くなりますが、一発でやってみました。 データはA1セルからあるとします。 尚、スペースは全角とします。 B1セルに =IF(SUMPRODUCT((ISNUMBER(FIND(LEFT(A1,FIND(" ",A1)),A$1:A$1000)))*1)>1,LEFT(A1,FIND(" ",A1)-1)&"("&MID(A1,FIND(" ",A1)+1,1)&")",LEFT(A1,FIND(" ",A1)-1)) という数式を入れフィルハンドルでダブルクリックしてみてください。m(_ _)m

Otya1408
質問者

お礼

B1セルから一発でできないものかと試行錯誤していたので、大変助かりました。 ありがとうございます!

その他の回答 (6)

noname#204879
noname#204879
回答No.6

B1: =LEFT(A1,FIND(" ",A1)-1) C1: =IF(COUNTIF(B:B,B1)=1,B1,B1&"("&MID(A1,FIND(" ",A1)+1,1)&")")

Otya1408
質問者

お礼

項目をふやしてやっていたのですが、基データは項目が多く、 なんとか一発でできないものかと思い質問させていただいた次第です。 回答いただき、ありがとうございました。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.5

重複すみません。>1を入れ忘れた。 B2=LEFT($A2,FIND(" ",$A2)-1)&IF(COUNTIF($A:$A,LEFT($A2,FIND(" ",$A2)-1)&"*")>1,"("&MID($A2,FIND(" ",$A2)+1,1)&")","")

Otya1408
質問者

お礼

検証を繰り返し回答くださってありがとうございました。

noname#203218
noname#203218
回答No.4

#3です。 B2では無くB1セルの式です。 修正下さい。

noname#203218
noname#203218
回答No.3

B2=IF(COUNTIF(A:A,"*"&MID(A1,1,FIND(" ",A1)-1)&"*")>1,MID(A1,1,FIND(" ",A1)-1)&"("&MID(A1,FIND(" ",A1,1)+1,1)&")",MID(A1,1,FIND(" ",A1)-1))

  • angkor_h
  • ベストアンサー率35% (551/1557)
回答No.2

回答ではありません。余計な心配なので、無視してくださって結構です。 姓名のフルで扱ったほうが良いと思います。わざわざB列に変換する意味(効果)がわかりません。手書きの昔は(手短に記述するために)良く使っていたことは否定しませんが。 たとえば、佐藤 愛さん、佐藤 愛子さんの区別はどうされるのでしょうか。 過去に於いては、メルアドは自己申請のニックネームで本人との対象が全く関連付け出来ない場合があって苦労もしましたが、昨今では多くがフルネームに利用となっています。 たとえば、satou.ai@aaa.co.jp とか satoh.aiko@bbb.go.jp とか、民間も行政もです。 性だけでの区別を優先すると一つの職場では一人でも、全社では何人も居て連絡先間違い、は今でも良くあることです。

Otya1408
質問者

お礼

お気づかい、ありがとうございます。 おっしゃる通りですが、姓+名の頭文字で個人の特定が可能なことは確認済。 外部に出すデータではないこと、何より上司の意向なので...あしからず。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

B2=LEFT($A2,FIND(" ",$A2)-1)&IF(COUNTIF($A:$A,LEFT($A2,FIND(" ",$A2)-1)&"*"),"("&MID($A2,FIND(" ",$A2)+1,1)&")","")

Otya1408
質問者

お礼

素早い回答ありがとうございます。 ただ、重複していない姓の人の名前まで操作されてしまいますね...残念(>_<)

関連するQ&A

  • excel2003 2列のデータを1列に

    エクセル2003にて 下記のように2列のデータを1列に表示させたいと思っております。 A列  B列              C列 田中 佐藤              田中 鈴木 池田 このように>      鈴木 後藤 内藤              後藤                     佐藤                     池田                     内藤 C列に入れる数式をお教えください。 よろしくお願いします。

  • 【エクセル】分かれたセルの文字列を並び替えしたい

    たくさん調べたのですがほしい情報がなく、そもそも適切な調べ方もわからず、体中が熱くなってきました。 どうか、ご教授のほどよろしくお願いいたします。 今、エクセル2003で顧客データを作成しているのですが、セルが分かれた姓と名を1度に50音順に並び替える方法がわからず苦しんでいます。 サーバーからダウンロードしたCSVファイルはこのように   A列      B列     C列      D列 注文者姓  注文者名  姓(かな)  名(かな) 鈴木     結衣     すずき    ゆい 渡辺     美佳     わたなべ   みか 足達     聡史     あだち    さとし 鈴木     浩司     すずき    こうじ 木村     亜美     きむら    あみ 鈴木     太一     すずき    たいち 渡辺     達也     わたなべ   たつや    鈴木     結衣     すずき    ゆい 最初は注文番号順に並んでいます。(仮名) それを苗字だけの50音順にはC列の並び替えで可能でしたが   A列      B列     C列      D列 注文者姓  注文者名  姓(かな)  名(かな) 足達     聡史     あだち    さとし 木村     亜美     きむら    あみ 鈴木     結衣     すずき    ゆい 鈴木     太一     すずき    たいち 鈴木     浩司     すずき    こうじ 鈴木     結衣     すずき    ゆい 渡辺     美佳     わたなべ   みか  渡辺     達也     わたなべ   たつや 上記のように「鈴木」の「名(かな)」はバラバラにしか並ばないので   A列      B列     C列      D列 注文者姓  注文者名  姓(かな)  名(かな) 足達     聡史     あだち    さとし 木村     亜美     きむら    あみ 鈴木     浩司     すずき    こうじ 鈴木     太一     すずき    たいち 鈴木     結衣     すずき    ゆい 鈴木     結衣     すずき    ゆい 渡辺     達也     わたなべ   たつや 渡辺     美佳     わたなべ   みか  上記のように同姓の「名(かな)」でも50音順に並び替えられるようにしたいのですが(同姓同名を隣接セルにしたいため)、並び替えオプションか何かで出来る方法はないでしょうか? 今のところ地道に、ひとつずつ同姓を選択してD列で並び替えるということをしているのですが、データが6000件以上と膨大なので苦しいです。 さらに新規顧客データを追加してC列「姓(かな)」で並び替えしたときに、D列「名(かな)」で並び替えしていたものはリセットされていまたバラバラになります。 どうにか1度に「姓(かな)」と「名(かな)」を合わせた並び替えはできないでしょうか? サーバーからダウンロードできるデータの注文者名の姓名が別セルにさえなっていなければよかったのですが・・・ もしくは方向を変えて「姓(かな)」と「名(かな)」のセルを文字列はそのままに結合する方法などはあるのでしょうか? 初心者ならではの本当にお見苦しい質問で恐縮ですがどうかご教授よろしくお願いいたしますm(_ _)m

  • Excelで各行の最小値となる列の探索

    Excelで,各行ごとに,最小値を探索し,その最小値が どの列のデータかを計算したいのですが,どのようにすればよいのでしょうか? 例えば      山田  鈴木  田中 データ(1) 10.3  0.42  0.5 データ(2) 1    10.1   4 データ(3) 5    11.8   2 といった感じのデータに対して,      山田  鈴木  田中 データ(1) 10.3  0.42  0.5  鈴木 データ(2) 1    10.1   4   山田 データ(3) 5    11.8   2   田中    という感じで,各列の1行目の値が出力されるように したいのですが。 一応,LookUp関数,Match&Index関数を使ってみましたが,探索する文字列が小数のためか,探索できる行と N/Aになるものとが存在し,その差がなぜ生じるのかが わかりません。 上記関数にはこだわらないので,何か良い方法がありましたらご教授ください。

  • エクセルで検索、並び替えの方法

    エクセルで以下のような並び変えはできないでしょうか? エクセルでA列とB列に名前が入っています。 A列、B列の名前は若干違います。 B列の名前をA列に揃えて並び変えることはできないでしょうか?  「処理前」       「処理後」  A   B        A   B 伊藤  山田      伊藤         山田  田中      山田  山田 鈴木  鈴木      鈴木  鈴木 田中  伊集院     田中  田中                     伊集院 宜しくお願いします。

  • エクセルのセル文字列末尾だけを削除する方法ありますか?

    こんにちは。 エクセルで各セルに ------------------------ 山田さん 鈴木 田中さん 木村さんと川村さん ------------------------ のような最後に”さん”がついている場合とついていない場合があります。 ”さん”を置換して空白にすれば削除できるのですが、 木村さんと川村さん のセルの”木村さん”の”さん”は削除せず、セルの文字列末尾の”川村さん”の”さん”は削除したいのです。 希望としては、 ------------------------ 山田 鈴木 田中 木村さんと川村 ------------------------ の様な形にしたいのですが、何か良い方法ありましたらアドバイス頂けませんでしょうか? よろしくお願いいたします。

  • excel 重複したデータのコピー

    例えばこんなデータがあるとします。 名前  値 鈴木  1 佐藤  2 佐藤  5 小林  2 田中  3 田中  1 田中  2 斉藤  0 山田  4 山田  2 というデータから 佐藤  2 佐藤  5 田中  3 田中  1 田中  2 山田  4 山田  2 という感じで名前が2つ以上あるデータだけ抽出・コピーをしたいのですが、 どういう風にすれば出来るでしょうか。

  • Excelで列中の特定文字列だけ抽出するには?

    Excel2003に関する質問です。 初心者なので以下のようなことができるのかわからないのですが、 例) 山田商店(090-1234-5678)山田様 スーパーイトウ(090-2345-6789)伊藤様 鈴木酒店(090-3456-7890)鈴木様 といった文字列がX列に入っているとき、()内の携帯電話番号のみを抽出し表示したい場合、何かいい方法はありますでしょうか? ちなみにX列には、()付きの携帯電話番号以外のまったく違ったデータ 例) 移転のため閉店 なども含まれています。

  • テーブルの結合・・・

    教室テーブル id, class 1, A組 2, B組 3, C組 生徒テーブル id, name 1, 佐藤 1, 山田 2, 鈴木 3, 田中 3, 後藤 3, 加藤 という二つのテーブルがあります。 これらをLEFT JOINで結合したのですが。 A組, 佐藤 A組, 山田 B組, 鈴木 C組, 田中 C組, 後藤 C組, 加藤 となってしまいます。 これを同じ教室名でまとめて、 A組, 佐藤 山田 B組, 鈴木 C組, 田中 後藤 加藤 というように表示したいのです。 できればクエリだけで解決したいのですが・・・ よろしくお願いします。

    • ベストアンサー
    • MySQL
  • Excel(2010)で氏名の頻度の求め方

    Excel(2010)で、A列に縦に 山田 鈴木 田中 山田 鈴木 山田 というように氏名の並べてある表があるとします。この表で氏名の頻度が 山田 3 鈴木 2 田中 1 というように表示できる関数または方法があるでしょうか。 この表のように項目が少なければ 山田 鈴木 田中 というセルを作っておいて、VLOOKUP関数で求められますが、実際には約500行ありその中の氏名をすべて手作業で入力するのは大変ですので、重複なくすべての氏名を抜き出すのは実際的ではありません。 以上よろしくお願いします。

  • 同じ組合せが何組みか

    エクセル2003を使っています。 エクセルで作ったスケジュール表があります。 B列に日付、G列にスケジュールの予定が入力されており、I列にその予定を行う者の氏名が入力されております。 例えば、  B列   G列   I列 2009/2/1  採点   山田 2009/2/1  採点   佐藤 2009/2/1  年休   鈴木 2009/2/1  外出   田中 2009/2/1  採点   斉藤 2009/2/2  採点   佐藤 2009/2/2  年休   山田 2009/2/2  採点   斉藤 このエクセルを使って、「採点」を行った同じ組合せが何組あったかを調べたいと思います。 例えば、斉藤・田中・鈴木の組合せが何組あるか、○○・△△の組合せが何組あるかを調べたいと思っています。 手段はVBAでも良いです。 よろしくお願いします。

専門家に質問してみよう