
No.4ベストアンサー
- 回答日時:
セル内の文字列の中に2桁までの数字が入っている場合に、その数字部分を抽出したいなら以下のような数式になります。
=MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A2)&1234567890)),1)&IF(ISNUMBER(MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A2)&1234567890))+1,1)*1),MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A2)&1234567890))+1,1)*1,"")
No.7
- 回答日時:
ワークシート関数では非常に厳しいと思いましたので専用の関数で如何でしょうか。
因みに数字(半角、全角)をそのまま抽出します。
(1)alt+F11キー押下→挿入→標準モジュール→以下のコードを貼り付け→alt+F4
(2)任意セルに=numget(対象セル)を入力、数値とするならば、=numget(対象セル)*1で下方向にコピー
ユーザ定義関数
Function numget(rng As Range)
For i = 1 To Len(rng)
ch = Mid(rng, i, 1)
If ch Like "#" Then
wk = wk & ch
End If
Next i
numget = wk
End Function
この回答へのお礼
お礼日時:2010/09/14 18:04
有難うございました
こちらの回答を見る前にベストアンサーを決定しましたが、
数値として合計も出したかったので、業務にはこちらを利用しました!!
(関数の意味は全く分かりませんが・・・) 笑
No.6
- 回答日時:
こんにちは!
一例です。
↓の画像でE2セルに
=IF(D2="","",MID(D2,MATCH(TRUE,ISNUMBER(MID(D2,ROW($A$1:$A$10),1)*1),0),COUNT(MID(D2,ROW($A$1:$A$10),1)*1)))
これは配列数式になってしまいますので、この画面からコピー&ペーストしただけではエラーになると思います。
E2セルに貼り付け後、F2キーを押す、またはE2セルをダブルクリック、または数式バー内で一度クリックします。
編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定します。
数式の前後に{ }マークが入り配列数式になります。
これをオートフィルで下へコピーすると画像のような感じになります。
尚、D列の10文字まで対応できる数式にしています。
そして、数値が連続していれば最初に数値が出てきたところから入っている数値は全て表示されます。
以上、参考になれば良いのですが・・・m(__)m

No.5
- 回答日時:
回答No1です。
F列が備考であるとしてさまざまな文字が入っているとのことを見落としていました。
G1セルには次の式を入力して下方にオートフィルドラッグしてください。
=IF(OR(D1="",COUNTIF(D1,"*名*")=0),"",IF(ISNUMBER(MID(D1,FIND("名",D1)-2,2)*1),MID(D1,FIND("名",D1)-2,2)*1,IF(ISNUMBER(MID(D1,FIND("名",D1)-1,1)*1),MID(D1,FIND("名",D1)-1,1)*1,"")))
この式でしたら数字の前に文字列が入っている場合にでも問題なく対応できます。
No.3
- 回答日時:
備考欄がA列だとすると、隣のB列に以下のように関数を記述して下さい。
(例は1行目の場合)
=IF(ISNUMBER(VALUE(MID(A1,1,2))),MID(A1,1,2),IF(ISNUMBER(VALUE(MID(A1,1,1))),MID(A1,1,1),""))
但し以下の様な条件があります。
・先頭が数字で始まっていること。
「約1名」などは対象になりません。
・数字は2桁以内であること。
3桁以上の場合は3桁目以降を無視して抽出します。
「123名」の場合「12」と抽出されます。
・備考欄に2バイト(全角)で入力されている数字は、
そまま2バイト(全角)で抽出します。
「12名」の場合「12」と抽出され、
「12名」の場合「12」と抽出されます。
また数字の後ろ(2または3桁目以降)の文字が何であれ
先頭が数字であれば抽出します。
「12名」でも「12個」でも「12」と抽出されます。
例えば、何らかの人数を抽出することが目的だが、
中には「○個」という不要な情報も混ざっている、などの場合でも
先に「名」という文字を特定する方法はありますが、
もう少し複雑な関数になってしまいます。
No.2
- 回答日時:
○○名が最後にあれば簡単なんですがそうではなく、
あいうえお55名かきくけこ
やゆよ8名ん
のような任意の文字列中で場所不特定の「名」の前の1文字または2文字の数字のみを取り出すんですね?
数字の前以外に「名」という文字は存在しないんですね?
そうであれば、
・備考セル内に「名」が無ければ表示しない。
・「名」の前の2文字を取り出し、数値化できなければ「名」の前の1文字だけを取り出す。
・そうでなければ「名」の前の2文字を取り出し、数値化する。
という式でいけますね。
仮に対象がA1セルだとすると
=IF(ISERROR(FIND("名",A1)),"",IF(ISERROR(VALUE(MID(A1,FIND("名",A1)-2,2))),VALUE(MID(A1,FIND("名",A1)-1,1)),VALUE(MID(A1,FIND("名",A1)-2,2))))
No.1
- 回答日時:
例えばF列に備考があるのでしたらG1セルには次の式を入力して下方にオートフィルドラッグします。
=IF(F1="","",SUBSTITUTE(F1,"名","")*1)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで、指定の値よりも大...
-
EXCELのcountif関数での大文字...
-
文字列から英数字のみを抽出す...
-
SUMIF関数で、「ブランク以外を...
-
エクセルで特定のセル内にだけ...
-
自分の左隣のセル
-
エクセル1行おきのセルを隣の...
-
excelで、空白を除いてデータを...
-
文字数のカウントと平均数の算出
-
エクセル 平日と土日祝の時間...
-
エクセルのセルにある同じ値が...
-
EXECL バーコード生成でBarCode...
-
エラー「#REF」の箇所を置き換...
-
エクセルVBAでチェックボックス...
-
エクセルで一番下のセルとその...
-
エクセル|列を固定してるのに...
-
検索関数を使って検索窓を作成...
-
Excelで項目ごとの単一セルと結...
-
Excelでセル内の数値のみ抽出し...
-
EXCELでマイナス値の入ったセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUMIF関数で、「ブランク以外を...
-
文字列から英数字のみを抽出す...
-
EXCELのcountif関数での大文字...
-
文字数のカウントと平均数の算出
-
エクセル1行おきのセルを隣の...
-
エクセルで、指定の値よりも大...
-
エクセルで特定のセル内にだけ...
-
自分の左隣のセル
-
excelで、空白を除いてデータを...
-
セルを結合した時のエクセル集...
-
EXCELでマイナス値の入ったセル...
-
週の労働時間を計算するエクセル
-
【Excel】4つとばしで合計する方法
-
エクセルで、A2のセルにA3...
-
同一セル内の重複文字を削除し...
-
エクセルに入力後、別シートの...
-
一時間当たりの製造数を調べた...
-
エラー「#REF」の箇所を置き換...
-
EXECL バーコード生成でBarCode...
-
何時から何時までを○○、何時か...
おすすめ情報