• ベストアンサー

mid関数/find関数:一つのセルに同一の値がある場合

mid関数、find関数について教えてください。 1つのセルに同一の値が入っていて、2個目の値から、何文字もしくは2個目の値を探したい場合どのようにしたら良いのでしょうか。 例)1つのセルに、1-A0001-A0002 と値が入っていて、"A0002"だけを別のセルに表記させたい場合、開始位置を9文字目と指定し、解を求めることができますが、2つ目の"A"から5桁というような指定の方法ができるのでしょうか。 RIGHT関数という方法もありますが、セルによっては、1-A0001-A0002○○○というように別の文字が続いているため、上記のような設定で解を求めたいと考えます。 アドバイスを宜しくお願いいたします。

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

  • ベストアンサー
  • shiritai
  • ベストアンサー率43% (10/23)
回答No.3

#2です。 確実に2番目の"A"の場所を検索するには、 =FIND("A",A1,FIND("A",A1)+1) ですので、 =MID(A1,FIND("A",A1,FIND("A",A1)+1),5) とすればOKです。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 質問がちょっと正確性がないようです。 >1-A0001-A0002.... >2つ目の"A"から5桁というような指定の方法ができるのでしょうか。 位置の任意性は、二つのAだけなのでしょうか? 5桁は決まっているのでしょうか? A1に文字列があるとしたら、 =MID(A1,FIND("^",SUBSTITUTE(A1,"A","^",2)),5) となります。[SUBSTITUTE の最後の2は、2番目のAを探す方法です]

  • shiritai
  • ベストアンサー率43% (10/23)
回答No.2

検索文字の開始位置を指定すればいいのではないでしょうか。 例えばセルA1に入っていたとすれば、=FIND("A",A1,6)のように 6文字目以降を検索すればいいのではないでしょうか。

plumbloom
質問者

お礼

ご回答どうもありがとうござました。 考え方・捉え方を変えれば、答えが見えてくるのですね。

noname#204879
noname#204879
回答No.1

=MID(A1,3,5)

関連するQ&A

  • FIND関数の値が#VALUE!の場合の非表示

    エクセルで、セルの値に「virus」の文字列がある場合、「virus」と書く関数をFINDとMID関数で作ってみました。 =MID(C3,FIND("virus",C3),FIND("virus",C3)+4) この式だけだと、FINDの結果が無いときに、「#VALUE!」の文字が出てきます。この「#VALUE!」の文字を非表示にしたいと思い、IF文や条件付書式を試すのですが、「#VALUE!」は、長さ0の文字列””でもNULLでもないため、数式になりません。 良い方法をご存知の方教えてください。 よろしくお願いします。

  • MID関数について

    一桁から八桁までの任意の数字を1セルごとに分けたいのですが、MID関数では左から取り出すため桁数が変化すると使えません。 一桁目にMID(A1,1,1)から八桁目にMID(A1、8,1)を入れると1234が4321と逆になってしまいます。 12でも12345678と桁が違っても1セルごとにわけることはできないでしょうか

  • LEFT,RIGHT,MIDなどの

    関数について教えてください。 例えば12345のような数値を別の5個のセルに一文字ずつ分けて表示する場合ですが、 123.45のように5桁あるときは問題ないのですが、 1234のように4桁になると、 12344のように、下2桁のMIDとRIGHTの関数でおかしくなってしまいます。 できれば4桁の場合、頭のセルは空白にしたいのですが、 わかる方がいましたら、ぜひ教えてください。 ちなみにエクセルの2010です。 下手な説明で申し訳ありませんが、よろしくお願いいたします。

  • エクセルのFIND関数について

    エクセルの関数でFINDというのがあります。文字ストリングの中に 指定する文字列があれば、最初から何番目かを返す関数です。 質問は、もし見つからない時は式をいれたセルに「#VALUE!」 と表示されますが、IF文の中で使うような時、何と言う値で聞けば良いのでしょうか。””やNULLやNOTHINGやFALSEや-1でやって見ましたが上手く行きません。 =IF(FIND(”市”、A1、1)=○○、A1、” ”)の○○は何でしょう。(A1セルの文字列に「市」がなければA1を持ってきて、あれば ブランクとする.)

  • エクセル MID関数

    MID関数で表示した文字列が、数字として認識されません。 MID関数で表示された数字が10とします。セルはA1とします。 その後、IF式で =if(A1<5,10,0) とすると、結果は0になるはずなのに、常に真の値、10になってしまいます。 原因は、MID関数で表示された数字が文字列として認識しているからと考えられますが、対象方法をご存知の方がおりましたら教えてください。 よろしくお願いします。

  • エクセル関数を教えてください

    以前こちらで回答を頂き、活用させていただいてます。 今回の質問についてもおねがいします。  ※今回の質問 セル内の4桁の数字(1から0までの数字を使用した4桁;例えば1249)を、別のセル内に、関数(1234567890をそれぞれ2458761390へ変換する関数)で変換された4桁(例えば2489)で表示したいのですがその際に使用する関数を教えてください。参考に前回の質問と回答を参照します。 よろしくお願いします。 ※前回の質問 セル内の3桁の数字(1から8までの数字を使用した3桁;例えば124)を、別のセル内に、関数(12345678をそれぞれ24587613へ変換する関数)で変換された3桁(例えば248)で表示したいのですが、その際に使用する関数を教えてください。エクセル上に表示する数字は1から8までのうちの3桁で、12345678をそれぞれ24587613へ変換したいです。 ※回答 =SUM(FIND(MID(A1,{1,2,3},1),71823654)*10^{2,1,0}) =SUM(MID("24587613",MID(A1,{1,2,3},1)*1,1)*10^{2,1,0})

  • EXCEL MID関数の文字数について!

    セルA1 12×1240×2280 セルA2 3×1240×2280 セルA3 5.5×1240×2280 ↑こんな風にセルの中に数字が入っているのでMID関数で セルA1 =MID(A1,1,2)→12 セルA2 =MID(A2,1,1)→3 セルA3 =MID(A3,1,3)→5.5 と答えが出ます。でもA列の桁数によりMID関数の文字数を変えなければなりません。 一気に出せる方法はないでしょうか?? おわかりの方教えてくださーい!

  • MID関数で・・

    エクセルのA1のセルに入力されている文字列の、 頭から3文字目までは表示しないで、4文字目以降を すべて表示したいと思います。 セル内の全文字数は、セルごとに違うのですが、 その場合は、下記の○の部分の設定はどうすれば よいのでしょうか? 適当に、1000など大きな数字を入れておく他、 ないのでしょうか? =MID(A1,4,○) 何か、他の方法があれば、ぜひ教えて下さい。

  • エクセル 関数で出た値を別の関数で使う場合

    エクセルでのセルである関数で出た値が出ています。 別のセルでそこに出ている値を使って関数を入れたいのですが、その方法がわかりません。 例えば  あるセルにAと入っています。しかし、それはある関数の結果として出ています。別のせるに =if(A4=A,3,if(A4=B,2,if(A4=C,1,"")))と入れています。 でも結果は空欄です。どうしたらいいのでしょうか?

  • MID関数で、「0」を一文字目として認識させたい

    Excel2002で、住所録から封筒を印刷するファイルを作りました。 住所録シートの7桁の郵便番号セルから一文字ずつ取出して 印刷シートの各セルに収めるよう下記の関数を入れています。 =MID(VALUE(VLOOKUP("●",住所録データ範囲,5,TRUE)),1,1) 通常は問題無いのですが、「0」から始まる郵便番号の時は MID関数が「0」を1文字目と認識してくれず、2文字目が 1番先頭のセルに入ってしまいます。 (住所録シートに入っている郵便番号は「'」で文字列認識させています) 何か良い解決方法はありますでしょうか? 宜しくお願い致します。

専門家に質問してみよう