Excelでデータの照合方法

このQ&Aのポイント
  • Excelでデータを照合して抜き出す方法を解説します。
  • 頭文字と先頭の文字が一致するかの確認によるデータの照合方法をExcelで実現する方法を紹介します。
  • Excelを使用して、指定した条件に基づいてデータを照合して抜き出す方法について解説します。
回答を見る
  • ベストアンサー

Excelでデータの照合

Excelでデータを照合して抜き出す方法が知りたいです。 (例)   A            B            C 1 氏名          シメイ         頭文字 2 山田太郎       ヤマダタロウ     ヤ 3 Michael・Williams   Michael・Williams   マ 4 鈴木花子       スズキハナコ     ス 5 ピーター・アダムス  ピーター・アダムス  ピ ※名前は適当に考えました。 上のデータで Cの頭文字とBの先頭の文字が一致するかの確認ができるようにしたいです。   A            B            C      D 1 氏名          シメイ         頭文字   正誤 2 山田太郎       ヤマダタロウ     ヤ      ○ 3 Michael・Williams   Michael・Williams   マ      × 4 鈴木花子       スズキハナコ     ス      ○ 5 ピーター・アダムス  ピーター・アダムス  ピ      ○ あるいは、   A            B            C 2 山田太郎       ヤマダタロウ     ヤ 4 鈴木花子       スズキハナコ     ス 5 ピーター・アダムス  ピーター・アダ     ピ や、   A            B            C 3 Michael・Williams   Michael・Williams   マ のように表示できるようにしたいです。 関数は簡単なのはわかりますが、マクロはさっぱりなので コードや関数は解説つきで提示していただけると幸いです。 よろしくお願いします。

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

  • ベストアンサー
回答No.2

D2: =IF(AND($B2<>"",$C2<>""),IF($C2=LEFT($B2,1),"○","×"),"") 以下、コピー

toro2020
質問者

お礼

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

その他の回答 (2)

回答No.3

>B列で、ヨーロッパ語に日本語の振り仮名を振ってある場合  とありますが、勝手にカタカナ読みに変換してくれるわけではないんですよね? 辞書の機能は、Excel自体にはありません。 ただし、IMEの辞書にあらかじめ登録してある単語をセルに入力すると、その読みが振り仮名として振られます。 文字列を(コピペではなく)キーボードでタイプしてセルに入力すると、一般的な(=一般的だとExcelが判断する)読みが振り仮名として振られます。しかし、IMEの辞書に載っている単語の場合は、辞書での読みが優先されます。 したがって、辞書に「Michael」を登録し、その読みを「マイケル」と設定している場合、No.1の数式によって「マ」が返されます。 辞書に登録されていない状態で「Michael」をタイプすると、振り仮名も「Michael」となります。 なお文字列をタイプではなくコピペで入力した場合は、振り仮名がそのセルに存在しないこととなるので、ユーザーが振ってやる必要があります。また、タイプする場合でも、文字列を細切れに順に区切って入力したりすると、振り仮名も細切れになったりするので、それが気に食わなければ、振り仮名を再設定します。 振り仮名が存在していないセルに振り仮名を振るためのショートカットキーは、そのセルにカーソルを置いている状態で、「Alt+Shift+↑」を押します。これにより振り仮名が振られると同時に、振り仮名の編集状態になります。その読みで問題なければ、Enterキーで確定します。 あらかじめ振り仮名が振られているセルにこのショートカットキーを実行しても、振り仮名の編集状態になるだけで、上書きはされません。BackSpaceキーで振り仮名を全ていったん削除・確定し、改めて「Alt+Shift+↑」を押せば、辞書の読みあるいは一般的な読みが振られます。

回答No.1

D2セルに数式を入力するなら、 =left(b2,1)=c2  ……「TRUE」または「FALSE」で結果を表示 あるいは =if(left(b2,1)=c2,"○","×")  ……「○」または「×」で結果を表示 C2に数式を入力するなら、 (1)日本語の場合 =left(b2,1) (2)B列で、ヨーロッパ語に日本語の振り仮名を振ってある場合 =left(phonetic(b2),1) 関数の意味は、インターネットで検索してください。「left(b2,1)=c2」という式は、「論理式 excel」とかのキーワードで検索してください。解説は遠慮しますので、お調べください。

toro2020
質問者

お礼

丁寧な回答ありがとうございます。 B列で、ヨーロッパ語に日本語の振り仮名を振ってある場合 とありますが、勝手にカタカナ読みに変換してくれるわけではないんですよね?

関連するQ&A

  • エクセルについて

    エクセルで住所録を作っているのですが、名前とフリガナを同じセルに入力していました。フリガナだけを横のセルに移動することは可能でしょうか      A             B 1山田 太郎 ヤマダ タロウ  2山田 花子 ヤマダ ハナコ    A | B 1山田 太郎 | ヤマダ 太郎 2山田 花子 | ヤマダ ハナコ 宜しくお願いします。

  • Excelの作業で困っています。

    エクセルで、データをコード管理しているのですが、下記(山田太郎と田中花子)のように、同じ人でコード(C1)を2つ所有している場合があるので、重複しているのデータを探し出し、そのデータを削除する作業をしているのですが、5000件以上のデータがあるものですから、相当時間がかかってしまいます。何か関数とか使って処理する方法がないか教えてください。ちなみに今は、データの並び替えをして1件ずつ削除しています。     C1    C2       C3 R1  100  山田 太郎  ヤマダ タロウ R2  200  田中 花子  タナカ ハナコ R3  105  山田 太郎  ヤマダ タロウ R4  300  鈴木 次郎  スズキ ジロウ R5  250  田中 花子  タナカ ハナコ  

  • エクセル・1つのセルに入った漢字(カナ)の分け方

    エクセルにお強い方、教えてください>< A1のセルに、 山田 花子(ヤマダ ハナコ) とあるとします。 私は B1のセルに 山田 花子 C1のセルに (ヤマダ ハナコ) と、分けてデータ化させたいのですが、 どのようにマクロを組めばよいでしょうか? また、分け終わったC1の(ヤマダ ハナコ)に 置換を使って( )をとって、 カナ を かな に直すため、 PHONETICと書式のふりがな機能を使って直しても データにエラーは起きずに処理できるでしょうか? 最終的なデータとして A1セル→山田 花子(やまだ はなこ) B1セル→山田 花子 C1セル→やまだ はなこ としたいのです。 ご存知の方いらっしゃいましたら、教えてください。 宜しくお願い致します。

  • ふりがなをアルファベット化する関数ってありますか?

    A列に名前、B列にPHONETICで取り出したヨミがあります。 C列にBをアルファベット化したものを反映する関数はありますか? (A)山田 花子→(B)ヤマダ ハナコ→(C)YAMADA HANAKO としたいのです。 欲を言えば、「佐藤陽子」さんはSATOU YOUKOではなく、 SATO YOKOになると最高なんですが・・・。 よろしくお願いします。

  • エクセル 2003 にて

    会員制の顧客リストがあるのですが、今後も顧客が増えていく事をふまえて リスト上で重複したデータを抽出するように値を返すことが出来る関数式はどうなりますか? ------------------------------------------------      A          B      C       D 1  yamada taro    23歳  09-123-4567  2  yamada hanako  21歳  01-234-5678 3  sasaki kojirou   18歳  23-456-7890      ・     ・     ・      ・     ・     ・ 58 yamada hanako  21歳  01-234-5678      ・     ・     ・      ・     ・     ・ -------------------------------------------- といったように、データベースとしては今後も増えていくことを前提とした上で Cの番号で抽出を行い、既に登録されていた場合に ----------------------------------------------- 58 yamada hanako  21歳  01-234-5678  再 ----------------------------------------------- と Dの列に値が返されるように表示したいのです。 IF関数とDCOUNT関数を合わせると良いのかなとおもったのですが… よろしくお願い致します。

  • エクセル 同じコードの人を表示させる

    エクセルほぼ初心者です。いろいろ検索しましたが理解ができなかったので教えてください。 sheet1 A,B,C,D,E 販売店コード,販売店名,被保険者名,加入コース,保険料 11111,○○店,スズキタロウ,1コース,3500 11111,○○店,ヤマダジロウ,1コース,3500 11112,□□店,サトウイチロウ,2コース,4200 11113,△△店,タカハシサブロウ,4コース,6800 11113,△△店,タカハシハナコ,2コース,4200 11113,△△店,スズキイチロウ,3コース,5200     ・     ・     ・ といった感じで1000名ほどの入力があります。 sheet2に販売店コードを入力すると 販売店名、被保険者名、加入コース、保険料を全員分 表示されるようにしたいのです。 どのようにしたらよいでしょうか。お願いします。

  • エクセルにて、CSV形式の顧客名簿から、女性で○○齢以上の○○月生まれの人だけ抽出する方法

    どなたかご教示下さい。 下記のようなCSVファイルをエクセルにて扱う場合、 例えば女性で30歳以上かつ8月生まれの人だけを抽出したい時(今年の8月で30歳になる人を含みます)、 どのようにすれば良いのでしょうか? 最初に私が考えたのは、生年月日が8桁の標準形式になっている事から、 このセルを(ここではE2とする)を一旦、3つの別のセルにそれぞれ、 =INT(E2/10000) =INT(MOD(E2,10000)/100 =MOD(E2,100) の関数にて、 生年・生月・生日に分解し、さらにそれで得られたセルの値を別のセルに、値貼り付けし、 そして性別と生年と生月のそれぞれのセルを対象に、データ → フィルタ の 「フィルタオプションの設定」にて検索条件を設定し抽出する方法です。 しかしこの方法では、生年月日セルの分割や値貼り付けなどの工数が必要となる事から、 できる事ならこの工数を経ずに、8桁の生年月日に対してダイレクトに生年・生月を判断し、 性別と合わせて条件抽出したいのです。 実際に対象となるファイルは約3万人のリストからの抽出となります。 何か良い方法はありませんでしょうか? よろしくお願い致します。 <ファイル例> 顧客番号,氏名,フリガナ,性別,生年月日,居住区 0001,山田 太郎,ヤマダ タロウ,男性,19600612,東京 0002,山田 花子,ヤマダ ハナコ,女性,19790806,東京 0003,鈴木 花子,スズキ ハナコ,女性,19820512,福岡 0004,鈴木 次郎,スズキ ジロウ,男性,19790725,福岡 0005,高橋 一郎,タカハシ イチロウ,男性,19701223,東京 0006,佐藤 二郎,サトウ ジロウ,男性,19900524,名古屋 0007,上田 花子,ウエダ ハナコ,女性,19690801,大阪 0008,坂田 次郎,サカタ ジロウ,男性,19590814,福岡 0009,中村 太郎,ナカムラ タロウ,男性,19790915,札幌 0010,中村 花子,ナカムラ ハナコ,女性,19860830,札幌

  • 【エクセル】別の表を参照し、表の穴埋め

    表A 番号,氏名,フリガナ,性別,生年月日 1,鈴木 太郎,スズキ タロウ,男,1990/1/2 2,佐藤 花子,サトウ ハナコ,女,1993/4/5 3,加藤 次郎,カトウ ジロウ,男,1996/7/8 4,吉田 葉子,ヨシダ ヨウコ,女,1999/10/11 5,斉藤 良子,サイトウ ヨシコ,女,1999/12/13 表B 4,吉田 葉子 1,鈴木 太郎 6,落合 卓 のような2つの表があります。 そこで、以下の様に、 表Aを参照して表Bの穴埋めをする方法を考えています。 4,吉田 葉子,ヨシダ ヨウコ,女,1999/10/11 1,鈴木 太郎,スズキ タロウ,男,1990/1/2 6,落合 卓 表Aで見つからなかった人、部分に関しては 6,落合 卓,-,-,- のように、何か文字が入るとベストです。 マクロを利用してもOKです。 よろしくお願いします。

  • 複数行をINSERTで『ORA-00911: 文字が無効です。』というエラーが出てしまいます。

    SQL初心者です。 CommonSQLEnvironmentを使用して複数行のデータを登録したいのですが、 ****************************************** INSERT INTO KAIIN_MST (NO, FNAME, NAME, YMD, FLG) VALUES ('001', 'ヤマダタロウ', '山田太郎',TO_CHAR(SYSDATE, 'YYYYMMDD'), '1'); INSERT INTO KAIIN_MST (NO, FNAME, NAME, YMD, FLG) VALUES ('002', 'ヤマダハナコ', '山田花子',TO_CHAR(SYSDATE, 'YYYYMMDD'), '1'); ****************************************** この状態で実行すると、『ORA-00911: 文字が無効です。』と出ます。 セミコロン(;)を抜いて ****************************************** INSERT INTO KAIIN_MST (NO, FNAME, NAME, YMD, FLG) VALUES ('001', 'ヤマダタロウ', '山田太郎',TO_CHAR(SYSDATE, 'YYYYMMDD'), '1') INSERT INTO KAIIN_MST (NO, FNAME, NAME, YMD, FLG) VALUES ('002', 'ヤマダハナコ', '山田花子',TO_CHAR(SYSDATE, 'YYYYMMDD'), '1') ****************************************** を実行すると『ORA-00933: SQLコマンドが正しく終了されていません。』と出ます。 ちなみに1行のみ実行で ****************************************** INSERT INTO KAIIN_MST (NO, FNAME, NAME, YMD, FLG) VALUES ('001', 'ヤマダタロウ', '山田太郎',TO_CHAR(SYSDATE, 'YYYYMMDD'), '1') ****************************************** は成功します。 また、 ****************************************** INSERT INTO KAIIN_MST (NO, FNAME, NAME, YMD, FLG) VALUES ('001', 'ヤマダタロウ', '山田太郎',TO_CHAR(SYSDATE, 'YYYYMMDD'), '1'), ('002', 'ヤマダハナコ', '山田花子',TO_CHAR(SYSDATE, 'YYYYMMDD'), '1'); ****************************************** というものも試してみましたが駄目でした。 CommonSQLEnvironmentでの複数行追加の良い方法がありましたら教えて頂ければ幸いです。 宜しくお願い致します。

  • HTMLのタグを出力 マクロ

    A1、B1、C1…にテキストを入れます。 A1セル スズキ B1セル タロウ C1セル 東京  ・  ・ HTML出力 A1セル→<div>スズキ</div> B1セル→<p>タロウ</p> Cセル→<span>東京</span> <div>スズキ</div> <p>タロウ</p> <span>東京</span> それを行の数値が入ってないセルまで繰り返しってのをやりたいのですが、どうしたら良いでしょうか? 宜しくお願いします。

専門家に質問してみよう