
セル内に数値・文字列を両方含む列があります。
数値(1) 文字列(1) 数値(2) 文字列(2)
【例】
11213234 AIUEO 21213 ABC
42321243 KAKIKUKEKO 32480 CBAAA
59343124 SA 85727 BBAC
数値(1)の桁数は同一
文字列(1)の文字数は変動
数値(2)の桁数は同一(だが、文字列(1)が変動のため、スタート位置はことなってくる)
文字列(2)の文字数も変動
ここから「数値(2)のみ」を関数で抽出したいのですが、どのようにすればよいのでしょうか?
ご教授よろしくお願いいたします!!
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
文字列(1)の始まりは10文字目固定。
それより後ろのスペースの位置は、=find(" ",A1,10)で発見できるので、数値(2)の開始位置はその1
文字後ろ。
=MID(A1,FIND(" ",A1,10)+1,5)
ちゃんと数値として扱うなら1でもかけてね。
No.3
- 回答日時:
>特定の数値のみを抽出したい
内容からするとこの表現はおかしいのでは。「数値部分をとり出したい」ではないか。「特定」では無いのでは。
ーーー
(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関数で判別できる。すぐ思いつく。
No.2
- 回答日時:
=MID(SUBSTITUTE(TRIM(A1)," ","_",2),FIND("_",SUBSTITUTE(TRIM(A1),
" ","_",2))+1,5)+0お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- Java Java 南京錠 2 2023/02/04 11:46
- Visual Basic(VBA) 列を指定して値を左から5文字にそろえる 1 2022/06/10 20:28
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) VBA B列にある前から10文字のみ表示 3 2023/08/07 11:24
- Excel(エクセル) エクセル関数について 8 2023/06/28 17:04
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Excel(エクセル) EXCELの「接続」のSQLのコマンド文字列にて、セルから任意の数値を利用したい 2 2023/03/09 16:43
- Excel(エクセル) エクセルのセルの書式設定・ユーザー定義の条件設定について 1 2022/08/17 21:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
A B C D E の五文字のすべてを...
-
VBAでの Replace関数で、ワイル...
-
VBAを使って選択した範囲の数字...
-
MS SQLServer のSQLで文字列の...
-
文字列からタブコードを取り除...
-
変数内に入った文字列の結合 UWSC
-
“丸(〇/○/◯)”に似た文字…
-
VBAで改行コードを判定したい
-
VBの「As String * 128」とは?
-
Excel VBA で Win32API CreateF...
-
同一セル内に関数と文字列を同...
-
Excelで指数表現しないようにす...
-
アドレスでの参照の仕方
-
Excelで偶数行だけ文字列を数え...
-
UWSCに詳しい方簡単なテキスト...
-
Excelで3E8を3.00E+8にしない方...
-
【ChatGTPのオープンソースソフ...
-
input prompt とは
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
VBAでの Replace関数で、ワイル...
-
エクセルで文字列をtxtファイル...
-
【Excel VBA】複数ある特定の文...
-
エクセル 数値データを桁をそ...
-
Excelで3E8を3.00E+8にしない方...
-
VBA2005 16進を2桁で表示したい。
-
エクセルで文字列の最大値を抽...
-
同一セル内に関数と文字列を同...
-
Left関数とRight関数を合わせた...
-
Excelで指数表現しないようにす...
-
MS SQLServer のSQLで文字列の...
-
VBの「As String * 128」とは?
-
エクセルでセル内の文字列の最...
-
ORCLEでの小数の表示方法の変更...
-
bashスクリプトでの文字列から...
-
LEFT関数で文字数を指定しない...
-
アクセスで特定の数字以外(複...
おすすめ情報