- 締切済み
EXCEL セル内の特定の数値のみを抽出したい (関数だけで)
セル内に数値・文字列を両方含む列があります。 数値(1) 文字列(1) 数値(2) 文字列(2) 【例】 11213234 AIUEO 21213 ABC 42321243 KAKIKUKEKO 32480 CBAAA 59343124 SA 85727 BBAC 数値(1)の桁数は同一 文字列(1)の文字数は変動 数値(2)の桁数は同一(だが、文字列(1)が変動のため、スタート位置はことなってくる) 文字列(2)の文字数も変動 ここから「数値(2)のみ」を関数で抽出したいのですが、どのようにすればよいのでしょうか? ご教授よろしくお願いいたします!!
- studyingex
- お礼率13% (2/15)
- オフィス系ソフト
- 回答数4
- ありがとう数1
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
文字列(1)の始まりは10文字目固定。それより後ろのスペースの位置 は、=find(" ",A1,10)で発見できるので、数値(2)の開始位置はその1 文字後ろ。 =MID(A1,FIND(" ",A1,10)+1,5) ちゃんと数値として扱うなら1でもかけてね。
- imogasi
- ベストアンサー率27% (4737/17068)
>特定の数値のみを抽出したい 内容からするとこの表現はおかしいのでは。「数値部分をとり出したい」ではないか。「特定」では無いのでは。 ーーー (1)は先頭から定桁分を取り出すので =MID(A1,1,8)か=LEFT(A1,8) (2)が出現位置が変動するので=RIGHT(A1,LEN(A1)-9)について 数字先頭を求める。 これが結構難しくて、定石として、学習するほか無いと思うが、 A12に 11213234 AIUEO 21213 ABC B12に =RIGHT(A12,LEN(A12)-9) で AIUEO 21213 ABC C12に =MID(B12,MIN(FIND({"0","1","2","3","4","5","6","7","8","9"},B12&"0123456789")),5) で 21213 上記のC12へ,B12をネスト(含める、合体)して1つの式にしてください。 本件は間のスペースに頼らない式です。 ーーー >関数だけで VBAで、ユーザー関数で、数値桁の先頭位置を割り出すプログラムを組むと、上記のような技巧的な関数を使わなくて済むのだが(記述略) 上記のほうはん後半のの式(MIN(FIND・・)など、何年考えても相当関数を勉強しないと思いつかない。私も学んだもの。 VBAだと各桁が数字かどうかIsNumeric関数で判別できる。すぐ思いつく。
=MID(SUBSTITUTE(TRIM(A1)," ","_",2),FIND("_",SUBSTITUTE(TRIM(A1)," ","_",2))+1,5)+0
- maron--5
- ベストアンサー率36% (321/877)
◆「数値(1) 文字列(1) 数値(2) 文字列(2)」の順番で、その間に必ず、スペースがあるのであれば =TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",99)),99*3-99,99))*1 ★下にコピー
関連するQ&A
- 追加質問:EXCEL セル内の特定の特定の文字のみを抽出したい (関数だけで)
http://oshiete1.goo.ne.jp/qa4393007.htmlで『特定の数字のみ』の抽出方法を質問させていただいておりますが、作業を進めるうちに特定の文字列をも抽出する必要がでてきました! 数値(1) 文字列(1) 数値(2) 文字列(2) 【例】 11213234 AIUEO21213 ABC 42321243 KAKIKUKEKO32480 CBAAA 59343124 SA85727 BBAC 数値(1)の桁数は同一 文字列(1)の文字数は変動 数値(2)の桁数は同一(だが、文字列(1)が変動のため、スタート位置はことなってくる) 文字列(2)の文字数も変動 ひとつ補足ですが文字列(1)と数値(2)の間にはスペースがありません。 以上の条件で文字列(1)のみを抽出する方法などはあるのでしょうか? よろしくお願いします!
- 締切済み
- オフィス系ソフト
- エクセル 数値だけ抽出するには?
エクセルで、文字列+スペース+数字と入力されているセルから数値だけ取り出す方法を教えていただけますか? 文字列とスペースの字数は一定で、数値の桁数は6-8桁と変動します。 A列からb列のように変換したいのです。 A列 B列 PMID:_12345678 12345678 PMID:_123456 123456 宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- EXCEL セル内の数値から、5桁目だけを抽出する方法について
EXCELシートのセル内に、以下のような30桁からなる数値が入力されている 列が複数あります。 この列内の数値の右端から「5桁目」だけ、または左端から「10桁目」だけを 抽出したいと思っているのですが、EXCELの仕様で数値の先頭にある「0」は 表示されないため、各セルごとに表示されている数値の桁数はバラバラです。 数値の先頭に「0」が付いているセルが多数あり桁数が不揃いなことと、 数値が30桁もあるため、セルの数値表示が「1E+29」のように「E+29」で表示 されてしまっており、うまく数値を抽出することが出来ません。 ◆元データ 「列1」 (1) 1234567890 →(本当は30桁:000000000000000000001234567890) (2) 111111111100000000001111111111 (3) 1 →(本当は30桁:000000000000000000000000000001) (4) 123456789012345678909999999999 ◆右端から5桁目だけを抽出する 「列1」 (1) 6 (2) 1 (3) 0 (4) 9 お手数お掛けいたしますが、ご指導下さいますよう宜しくお願い致します。
- ベストアンサー
- その他MS Office製品
- 文字列から数値を抽出したいのですが・・。
文字列から数値(integer型)を抽出したいのですが、うまくいきません。 val関数だと文字の途中の数値が判別できないし、困っています。 よろしくお願いします。 ※以下、文字列と数値の関係です。 ・"文字列" → 抽出したい数値 "0k,abc,5k,abc3.0" → 0530 "abc()_3t" → 3
- ベストアンサー
- Visual Basic
- EXCELで文字列の中から特定の数値を取り出したい
教えてください。EXCELの関数で例えばA列に "www.abc.jp/1/a/1.html" "www.abc.jp/11/a/23.html" "www.abc.jp/110/a/24.html" "www.abc.jp/121/a/122.html" という文字列が合った場合.htmlの直前の数値だけ取り出したい場合どのような関数を使いますか? (数値の桁数は固定ではありません。)
- ベストアンサー
- オフィス系ソフト
- 特定文字列の抽出
VB6の質問です。 桁数、データが不定の文字列中から特定文字を抽出したいのでが、方法を教えていただけないでしょうか? 抽出したいデータの桁数が毎回不定でMid, Left, Right関数が使用できません。 Dim Buffer As String Buffer = "A12345...B678910.TRAGET..C" '桁数、データが不定の文字列がBufferに入ります。 例えば、変数Bufferから、桁数を考慮しないで"TARGET"の文字列を抽出したのです。 InStr関数で、位置を特定して、Mid関数などで抽出するれば、良いと思うのですが これをどんな桁数のときも対応できるようにルーチン化にできないでしょうか?
- ベストアンサー
- Visual Basic
- エクセル:特定の文字を含むセルの数を数えたい。
たとえば表のある列に「○ABC」、「DEF○」、「GHI×」とあったときに 「○」を含むセルの数を数えたいんですが、どのようにしたらいいですか? セル内の文字列が「○」だけだったらcountif関数が使えますよね。 上のように「○」に「ABC」とか余分な文字列がくっついてるのでどうしたら いいかわからないんです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで数値と文字が入ったセルからの数値の抽出
皆さんこんにちは。 エクセルの使い方についての質問です。 添付画像の例のようにA列に 「XXYYYZZ(XとZは文字、Yは数値で3桁または4桁)」というフォーマットで 数値と文字が入っているセルがあります。 同様にB列には「WWZ(Wは数値)」というフォーマットで、 同様に数値と文字が入っているセルが並んでいます。 これらからDやE列にあるように数値のみを取り出すためには DやE列にどのような関数を入れてやればよいのでしょうか。 どなたか教えていただければ幸いです。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelにて任意の位置の文字列を抽出したい
Excelにて任意の位置の文字列を抽出したい セルA1に、あたい1(837,1077,132) セルA2に、あたい2(657,100,32) セルA3に、あたい3(20,10000,888) のような値が入っています。 ここから、132、32、888を取り出したいのですが、どのような式を入れたら良いでしょうか? Right関数だと上記のように桁数が2桁と3桁と混在している場合に抽出できませんでした。
- ベストアンサー
- その他MS Office製品
- 【エクセル】セル内の文字列から数値のみを抽出する方法
A1●●●●1111 A2××××××222222 A3■■■■■■■■■■■1234567890 上記のように文字列と数値が一続きになっているデータが各セルに入っています。 文字列+数値の順番は決まっていますが、それぞれの文字数は決まっていません。数値はマイナスの場合もあります。 また、境にカンマやスペースなどもないため、テキストファイルウィザードも使えません。 このデータから、数値のみを抽出する方法がありましたらご教示下さい。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
補足
前回に続きご回答ありがとうございます! 早速試してみたのですが#VALUE!とエラーになってしまいました。 もしお願いできるのであれば、上記数式の簡単なご説明をいただくことはできないでしょうか? (勉強のため理解してから使いたいと思っています!)