• ベストアンサー

文字列の抜き出しとデータ表示について

EXCELでA列に次のような文章が入っています。 A1 山田●●<>101<>神奈川県横浜市神奈川区…<>電話 045… A2 上田■■■<>102<>神奈川県横浜市鶴見区…<>電話 045… (以下略) この中で <>と<> で囲まれた2つ目の文字列(半角数字101や102)をB列にコピーする方法を教えて頂けませんか? また、コピーした文字列(半角数字)に対応してC列にデータを表示できますか? C列に表示したいデータは以下のようなものです。 B列が 101 なら 1年ピッチャー B列が 102 なら 1年キャッチャー B列が 103 なら 1年ファースト (略) B列が 201 なら 2年ピッチャー (略) B列が 309 なら 3年ライト 可能ならB列に表示せず直接C列にデータ表示してもOKです。 どうぞ宜しくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

<>の後は3桁に決まっているのか 決まっているならFIND関数で<>を見つけ、見つかったところの2桁目から3桁採ればよい。これだけで式の組み方わかるかな。 =MID(A1,FIND("<>",A1)+2,3) ーー コードから対応文字列を引くのは、VLOOKUP関数がよかろう。CHOODEなどでは、式の中に文字列を書き込むので、場合の数が多いと式が多くなる。 表 Sheet2 A列  B列 101 1年ピッチャー 102 1年ピッチャー 103 1年ピッチャー ・・・・ =VLOOKUP(B1*1,Sheet2!$A$1:$B$100,2,FALSE) B1*1 としているのは、Sheet2のA列にあわて数値化しているため。

luxury-9
質問者

お礼

御礼が非常に遅くなり申し訳ありません。 教えていただいた事を参考に、何とか思うようなものが出来ました。 もっと勉強したいと思いますので、わからない時はまた宜しくご指導お願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

=LEFT(A1,1)&"年"&CHOOSE(RIGHT(A1,1)*1,"ピッチャー","キャッチャー","ファースト","セカンド","ショート","サード","レフト","センター","ライト") または Z1:Z9に "ピッチャー" "キャッチャー" "ファースト" "セカンド" "ショート" "サード" "レフト" "センター" "ライト" として =LEFT(A1,1)&"年"&INDEX($Z$1:$Z$9,RIGHT(A1,1)*1,1)

luxury-9
質問者

お礼

御礼が非常に遅くなり申し訳ありません。 教えていただいた事を参考に、何とか思うようなものが出来ました。 もっと勉強したいと思いますので、わからない時はまた宜しくご指導お願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.1

C1に =CHOOSE(LEFT(MID(A1,FIND(">",A1)+1,3),1),"1年","2年","3年")&CHOOSE(RIGHT(MID(A1,FIND(">",A1)+1,3),1),"ピッチャー","キャッチャー","ファースト","セカンド","サード","ショート","レフト","センタ","ライト")

luxury-9
質問者

お礼

御礼が非常に遅くなり申し訳ありません。 教えていただいた事を参考に、何とか思うようなものが出来ました。 もっと勉強したいと思いますので、わからない時はまた宜しくご指導お願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelで1列のデータを5列に振り分けする

    Excel2003でA列に1行にあるデータ(半角英数字)を 次のシートに、1行ずつコピーして、それを5列に振り分けするというマクロを作りたいです。 (ただし、コピーは2つずつの時もあります。) 元データ ●A列 B列 C列  1  2  3  4  5  ・  ・ 加工後 ●A列 B列 C列 D列 E列   1   1   2   2   3   3   4   4   5   5   上記のような感じです。ただデータは数字のみでなくて、英数字です。 Excelのマクロは全くの初心者で大変困っています。 どうぞよろしくお願いたします。

  • 文字列を分割したい。

    (A1)のセルにある文字列は、数個の文字列をスペース(半角)を開けて配置しています。 (2行目以下も同様の多種の文字列があります。) サンプル 「学校 東京 神奈川県横浜市 ABC アメリカ」 これを、 1行目のセルに関数を用いて、 (B1)に「学校」 (C1)に「東京」 (D1)に「神奈川県横浜市」 (E1)に「ABC」 (F1)に「アメリカ」 と表示したいのです。 関数で処理できましたら、その関数式を教えてください。 関数で処理できない場合は、マクロを教えていただければありがたいです。 よろしくお願いします。 ※エクセルの「区切り位置]機能を試しましたが、うまくいかないようです。

  • 列に含まれる同じ文字列をカウントし、表示させる方法を教えてください。

    簡単な質問かもしれませんが、どうかお願い致します。  A    B   C    D    E    F    G  5桁  2桁       5桁 カウント  2桁 カウント 11111  11 11111  11 11111  11 11111  11 11121  11 11121  11 12111  12 13111  13 上記のような A列には5桁の数字 B列には2桁の数字 エクセルのデータがあるとして、 まず、A列で同じ数字をカウントし、  A    B   C    D    E    F    G  5桁  2桁       5桁 カウント  2桁 カウント 11111  11      11111  4 11111  11      11121  2 11111  11      12111  1 11111  11      13111  1 11121  11 11121  11 12111  12 13111  13 のように表示させたいのですが、どうしたらいいかわかりません。 データが膨大で数字がランダムな為、CountIfは使えないんだと思いますが、素人なので、詳しくはわかりません。 また、B列が何なのかと言いますと、A列の上2桁が入っています。 なぜ必要かなんですが、理由があります。 A列で5桁でカウントした個数が2以下の場合、5桁ではカウントせずに、2桁でカウントするという風にしたいのです。 しかも、5桁でカウントし、3以上だった数字については2桁ではカウントしない様にしたいんです。 要するに、最終的に  A    B   C    D    E    F    G  5桁  2桁       5桁 カウント  2桁 カウント 11111  11       11111  4    11   2 11111  11                  12   1 11111  11                  13   1 11111  11 11121  11 11121  11 12111  12 13111  13 のように表示させたいんです。 長々とすみません。 ご指導のほど、よろしくお願いいたします

  • エクセルでのデータの表示

    エクセルでのデータの表示 次のような表が在ります。 A列   B列   100    2   100    2      101    6   101    2   101    6   102    6   102    6   103    2   103    2   103    2    104    6   104    2  ・     ・  ・     ・  ・     ・   これを、次のように、C列に「◎」と「×」を表示させるようにするには、どのようにすれば可いですか? つまり、「A列のナンバーが重複していて、且つ、B列の数字が異なる二種類の場合は、C列に◎」、「A列のナンバーが重複していて、B列の数字は一種類の場合は、Cれつに×」と表示させたいのです。 A列  B列  C列 100    2  × 100    2  ×   101    6  ◎ 101    2  ◎ 101     6  ◎ 102    6  × 102    6  × 103    2  × 103    2  × 103    2  × 104    6  ◎ 104    2  ◎ ・      ・  ・ ・       ・  ・ 宜しくお願い致します。

  • A列のデータの重複を取り除いてC列に表示。ただし、B列に存在するデータはC列に表示させない

    お世話になります。 Excel2000を使っています。 A列のデータがA1,A2,...の順に 1 2 3 2 3 4 B列のデータがB1,B2,...の順に 2 4 6 8 だとします。 まず、A列のうち重複するデータは1つとみなして 1 2 3 4 とし(順番はどうでもいいです)、 さらにB列に含まれる2,4,6,8を取り除いた 1 3 をC列に表示させたいです。C列の順番はどうでもいいです。 どうすればできるでしょうか?ご教示ください。よろしくお願いします。

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

    行列データ?の文字列操作についてです。 ----------------------------------------------- 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で組みたいと考えています。 可能なものでしょうか?

  • 複数列のデータ(数値&文字)を結合させて1列にまとめる方法

    (1) 一行にA列、B列、C列があり、各行のいずれか1つの列に、必ずデータが入っています。(データの入っていないセルは「0」が表示) (2) データの入っているセルからデータを取り出し、D列の同じ行のセルに移します。 (3) 結果、D列には、A列~C列のデータが1列に表示される (例) No A列 B列 C列  D列 1  1A         1A 2        2B   2B  3     3C      3C 指定した複数列のデータを1列にまとめて表示する関数またはSQLを教えて下さい。 お忙しい所 大変恐縮ではございますが、何卒宜しくお願い致します。

  • Excel 文字列抜き出しについて

    図のようにA1のセルに半角空欄の混じった文字列が入っています。 半角空欄は[ _ ]赤のアンダーバーで表してあります。 B1~G1セルのように文字列を抜き出すにはどのような数式を入力したらいいのでしょうか?

  • EXCEL・ 2つの列内にある文字データで一致するものを検索する方法

    始めまして 例えば 下記の様にA列内の文字データ(数字ですが実際には文字列) とB列内の文字データが同じものを検索する方法です。 C列に同じデータがあれば○と表示する方法でもいいです。 この場合123は検索対象となるので1行目のC列又は2行目のC列に 印か文字を表示させたいです。    A列 B列 1行 123 111 2行 456 123 3行 789 222 よろしくお願いします。

  • エクセル 複数条件を満たすデータを返す関数

    エクセルで、複数条件を満たした時にデータを返す関数をお教えください。 例えばA列に県名、B列に都市名、C列にアルファベットが入っている表があります。 イメージ・・・(カッコ内はセルの番地) (A1)神奈川県   (B1)横浜市    (C1)X (A2)神奈川県   (B2)横須賀市   (C2)Y (A3)千葉県    (B3)千葉市    (C3)Z この表があり、 (A5)神奈川県   (B5)横須賀市   (C5)??? このようにA5,B5のデータ(条件)に一致するアルファベットを C5に返す関数が必要です。(ここではYを返す) C列が数値の場合は、sumproduct等で可能と思いますが、 C列が文字の場合は使えないのではと考えています。 何か方法はありませんでしょうか?

専門家に質問してみよう