• ベストアンサー

エクセルの文字列の検索に関して

また、エクセルに関しての質問です。 例えば  A B C D 1あ 1 2い 2 3う 3 4え 4 5お 5 6か 6 7き 7 8く 8 このような漢字で文字列が縦に入力されていて、  A B C D E 1あ 1   お 5 2い 2   う 3 3う 3 4え 4 5お 5 6か 6 7き 7 8く 8 このようにD列にある文字に対してA列にある文字で該当する文字を発見し横のBセルにある番号を取ってくるということがしたいです。 この場合だとD1は「お」なので、A列の上から見ていくとA5に「お」があるので、B5の数字「5」をEに入力といったような具合です。簡単なように見えますが、複数の文字列を横断的に検索することができません。 誰か詳しいお方お教え願います。

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.6

#1 Cupperです 難しく考えず、基本に立ち返り次の数式を応用してください E1 =LOOKUP(D1,A1:A8,B1,B8) E2 =LOOKUP(D2,A1:A8,B1,B8)  

その他の回答 (5)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.5

回答番号:No.4です 恥ずかしながら又式が間違いでした E1に次の式です。 =INDEX($A:$B,MATCH(D1,$A:$A),2) E1に上記式をコピペでお試しを E2にオートフィルでコピー

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.4

回答番号:No.2.3です。 すみません今朝の回答のうち D1セルには誤りです。 D1セルに「お」D2セルに「う」 E1セルに =INDEX($A$2:$B$8,MATCH(D1,$A$2:$A$8),2) です。 またエラー #VALUE!【読み:バリュー】は、参照値(引数[ひきすう])が違っているときにひょうじされます。 回答番号No..3の画像を参考に E1セルに次の式をコピー、貼り付けしてお試しください。 =INDEX($A$2:$B$8,MATCH(D1,$A$2:$A$8),2)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.3

回答番号:No.2です タイトル行必要ありませんね =INDEX($A$1:$B$8,MATCH(D1,$A$1:$A$8),2)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.2

1例です(INDEXとMATCHで) 1行目にタイトル行をつけます   A  B  C  D 1 文字 数値   お 2 あ  1     う    3 い  2 4 う  3 5 え  4 6 お  5 7 か  6 8 き  7 9 く  8 D1セルに =INDEX($A$2:$B$9,MATCH(D1,$A$1:$A$9),2) 下方にオートフィル  画像を参考にどうぞ

ritsurin03
質問者

お礼

#VALUE!が出て上手くいきませんでした。 せっかくですが申し訳ないです。 また、新たに分かりやすいように実際の状況を画像とともに投稿するのでそちらに解答してくれたら嬉しいです。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

普通は VLOOKUP関数 LOOKUP関数を使います ただし、この関数はデータが一致する必要があります   A        B 1 あいうえお  1 2 かきくけこ   2 3 さしすせそ  3 4 たちつてと  4 5 なにぬねの  5 6 はひふへほ  6 7 まみむめも  7 から、"つ" を含むA列の文字に対してのB列の値を返す ということはできません この場合、"たちつてと" を検索対象にする必要があります そんな場合はC列などに作業列を設けて その列に  =SEARCH(D$1,A1)>0 などと文字が含まれた場合 TRUE が返るようにして、これをE列で検索すればOK  =LOOKUP(TRUE,C:C,B:B) など ただし、これは検索したい文字の種類の数だけ作業列を必要とします (あわせてもう一つ "ひ" などを検索したいのであれば、作業列をF列などに設ける)

関連するQ&A

  • 漢字と数字が混じった文字列を漢字と数字に分けたい

    Aを漢字、Bを数字とすると AABBBABBBBAAAのように漢字と数字が混ざった文字列がセルA1にある場合に、 セルB1、C1、D1、E1・・・に AA、BBB、A、BBBB、AAA、・・・というように、文字を切り分けたいのですが、どうすれば出来るでしょうか?

  • エクセルの文字列操作:縦に繰り返す方法

    A、B、C列に半角英数文字、D列に数字が入っています。 A、B、C列の文字が繋がり、D列の数字分繰り返されるような計算式等を考えているのですが、 繰り返しの条件が縦に繰り返さなければならない為、四苦八苦しています。 イメージとしましては、例えば A1セルが「a」B1セルが「b」、C1セルが「c」、D1セルの数字が「3」 A2セルが「AA」B2セルが「BB」、C2セルが「CC」、D2セルの数字が「5」 だとすると、 abc abc abc AABBCC AABBCC AABBCC AABBCC AABBCC といった繰り返し結果が、別の列(○1~○7)に出来て欲しいのです。 最終的には、この結果をCSVで書き出して、バーコードとして専用プリンタで印刷しようというのが目的です。 何かよい手段は無いでしょうか?あるいはエクセルでは不可能なのでしょうか? 知恵をお貸しください。 宜しくお願い致します。

  • エクセルの文字列結合

    ご存知の方がいらっしゃいましたらよろしくお願い致します。 エクセルの文字列でA1のセルに「あ」と入れて、 B1のセルに「い」、C1のセルに「う」と入力して、 D1のセルに「A1&B1&C1」という数式を立てれば D1のセルは「あいう」となるのですが、 A1のセルに「あ」と入力して B1のセルに「0001」と半角で入力し、C1のセルに 「A1&B1」という数式を立てれば C1のセルが「あ1」となってしまいます。 そこでC1のセルを「あ0001」とするには どうしたらよろしいでしょうか? 0001は0002、0003・・・と続いていくため、 文字列扱いにはできません。 なんとかして A1に「あ」B1に「0001」C1のセルを自動で「あ0001」 A2に「あ」B2に「0002」C2のセルを自動で「あ0002」 A3に「あ」B3に「0003」C3のセルを自動で「あ0002」 としたいのです。よろしくお願い致します。

  • エクセルの文字列の検索に関して

    以下の画像を参照して欲しいのですが、 簡潔に言うと、 Cの文字が先頭に入っている文字列をA2からA1946までの間で探し出してその文字列の2文字目と3文字目をDのセルに格納したいです。 画像ではDせるにはきちんと入っていますが、これは手作業でしたのでこの作業を関数でできないかなと思いまして。 なにせ漢字は1945文字ありますので… お願いします。

  • excelの文字列の操作について

    A列、C列、E列、G列・・・の1行目にはタイトルが入力されており、 B列、D列、F列、H列・・・には不特定の文字列が入力されており、それぞれ行数も不特定です。 A列、C列、E列、G列・・・の1行目のタイトルはA列にまとめ、B列、D列、F列、H列・・・の文字列はB列にまとめたいです。 下の例の場合だと、C列の1行目のタイトルをB列の下端の左下にあたる(A7)に移動させ、 D列の2行目から入力された文字列を右となりの(B7)に移動させたいです。これの繰り返しです。     A列     B列     C列     D列 1    あ       A       い       2             B                a   3            C                b 4              D               c 5             E                6              F                            ↓     A列     B列     C列     D列 1    あ       A              2             B                   3            C                 4              D                5             E                6              F      7      い      a 8             b 9             c よろしくお願いします。

  • Excel 文字列の抽出

    Excel初心者です。 1つのセルに以下のデータが入力されています。 A:文字列B:文字列C:文字列D:文字列 このセルの「C:」から「D:」の間にある文字列を 他のセルに抽出する方法を教えてください。 宜しくお願いいたします。

  • エクセルの文字列の検索に関して

    以下の画像を参照して欲しいのですが、 簡潔に言うと、 Cの文字が先頭に入っている文字列をA2からA1946までの間で探し出してその文字列の2文字目と3文字目をDのセルに格納したいです。 画像ではDせるにはきちんと入っていますが、これは手作業でしたのでこの作業を関数でできないかなと思いまして。 なにせ漢字は1945文字ありますので… お願いします。 ちなみに例えばC1の文字をA1からA1946と比べて、A67の先頭と一致した場合、A67の2文字目と3文字目をD1に出力といった具合です。

  • 行列データ?の文字列操作についてです。

    行列データ?の文字列操作についてです。 ----------------------------------------------- ID A B C D E 1 1.5 1.1 a 6 2 7.4 b 1 3 7.2 c 1 4 3.2 3.1 a 1 5 1.9 1.6 a 4 6 4.0 d 3 8.0 (上手く張れませんので、画像ファイルをつけました。 実際のデータはこのようにtabが入っています。) ----------------------------------------------- 上記のような文字列?をテキストボックスのようなところに入力(ペースト)し、 変換ボタンを押すことにより、 変換後文字列 1.1-1.5(6, a), 1.6-1.9(4, a), 3.1-3.2(1, a), 4.0(3, d, 8.0), 7.2(1, c), 7.40(1, b) と変換させたい。 行っていることは下記になります。 1、B列の数字が入力されていて、A>Bの時にはAとBを入れ替える。 2、A列の数字で昇順でソートする。 3、B列の数字が入力されているものは「A-B」とする。 4、それぞれの行を「A-B(D, C,E)」として「,」でつなぐ。 今回文字列の例として6行のものを示しましたが、行数は増減します。 列はE列まででこちらは増減しません。 Excel VBAを用いて行っているのですが、javascriptで組みたいと考えています。 可能なものでしょうか?

  • エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。

    エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。 エクセルのセルA1に 「A123B1234X9876C123DD」と入力されています。 これを 「A123-B123X9876-C123-DD」としたいです。 現在 ・B1のセルに=REPLACE(A1,5,0,"-") ・C1のセルに=REPLACE(B1,15,0,"-") ・D1のセルに=REPLACE(C1,20,0,"-") と入れて、D1にできた値の 「A123-B123X9876-C123-DD」 をコピーして E1のセルに「形式を選択して貼り付け」「値」で貼り付けして B1~D1を削除して ・A1のセルには元の「A123B123X9876C123DD」 ・B1のセルには編集後の「A123-B123X9876-C123-DD」 が表示されるようにしています。 このA列が100行もあるとうんざりです。 式をオートフィルでコピーしていくのですが  ・B1に式を入れてオートフィルでB100までコピー  ・C1に式を入れてオートフィルでC100までコピー  ・D1に式を入れてオートフィルでD100までコピー  ・D1~D100をコピーしてE1~E100に「形式を選択して貼り付け」「値」で貼り付け  ・B,C,D列を列削除  3回は式を入れないといけないです。一発で編集する方法はありますでしょうか?

  • <文字列マクロについて>

    <文字列マクロについて> 皆さま お力を貸して下さい。 初心者で、何もわからず書いておりますがすみません。 下記の2つのマクロを教えて下さい。 ?横に並んだ「ある行」に在るデータを「列」に変換し、  指定した数だけ並べる    あいうえお    ←A1セルからE1まで5列(これは状況により変わる)       ↓(マクロ実行:3行同じ数だけ並べるという指定)  あ        →A1セルから下にひたすら、同じ文字が続き順に並ぶ  あ  あ  い  い  い  う  う        →A1セルから下に並べる(3行は指定できれば別の数字にも変えたい  う  え  え  え  お  お  お ?規則的に並んだデータのまとまりをセットで移動する。  例だと5つの塊(これは変数とおきたい)    あ A              a  い B              b  う C               c   え D               d  お E              e    ↓(マクロ実行)  あ  い  う  え  お  A  B  C  D  E      ・  ・  ・  ・    a b c d e    

専門家に質問してみよう