• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:必要な数字を抜き出す方法)

エクセルで必要な数字を抜き出す方法

このQ&Aのポイント
  • エクセルで特定のセルからページ数の数字だけを抜き出す方法を教えてください。
  • セルには数字やアルファベットが混ざっており、ページ数の前にスペースがある場合もあります。
  • エクセルのバージョンは2003です。マクロを使用せずに実現する方法があるか教えてください。

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

  • ベストアンサー
  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.3

桁数不定版です。  ※ただし「数字部分の始まりから"page"の直前まで」が「カンマ・スペースを含めて8文字以内」。  =--RIGHT(LEFT(A1,FIND("page",A1)-1),9-MATCH(0,--ISERR(-(RIGHT(LEFT(A1,FIND("page",A1)-1),{8,7,6,5,4,3,2,1}))),0)) ●動作の概要  A1セルの文字列から、"page"を探し、その直前8文字について、  「数値と解釈しうる最長の文字列」を切り出して、数値化して返す。 Ex. ・1桁でも可  abcdef 2 page ghijklmnopqrstu ⇒ 2 ・全角数字やカンマを含んでも可  abcdefghijklmn 1,234 page opqrstu ⇒ 1234 ・前後のスペースの有無は問わない  abcdef56789pageghijklmnopqrstu ⇒ 56789 Excel2003で動作確認。ご参考まで。

shimashimashima
質問者

お礼

お礼がすっかり遅くなってしまい申し訳ありません どうもありがとうございました

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

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

A1セルにデータがあるとしたら次の式ではどうでしょう。 なお、ページ数は4桁までの対応ができます。ページ数の前後には半角のスペースがあるものとします。 =IF(ISNUMBER(VALUE(MID(A1,FIND("page",A1)-5,1))),MID(A1,FIND("page",A1)-5,5),IF(ISNUMBER(VALUE(MID(A1,FIND("page",A1)-4,1))),MID(A1,FIND("page",A1)-4,4),IF(ISNUMBER(VALUE(MID(A1,FIND("page",A1)-3,1))),MID(A1,FIND("page",A1)-3,3),IF(ISNUMBER(VALUE(MID(A1,FIND("page",A1)-2,1))),MID(A1,FIND("page",A1)-2,2)))))

shimashimashima
質問者

お礼

お礼がすっかり遅くなってしまい申し訳ありません どうもありがとうございました

全文を見る
すると、全ての回答が全文表示されます。
noname#204879
noname#204879
回答No.2

「上のような感じのセル」A1 に使われない文字を仮に「_」とすれば、 =MID(A1,FIND("_",SUBSTITUTE(A1," ","_",LEN(LEFT(A1,FIND(" page",A1)-1))-LEN(SUBSTITUTE(LEFT(A1,FIND(" page",A1)-1)," ",""))))+1,FIND(" page",A1)-FIND("_",SUBSTITUTE(A1," ","_",LEN(LEFT(A1,FIND(" page",A1)-1))-LEN(SUBSTITUTE(LEFT(A1,FIND(" page",A1)-1)," ",""))))-1)

shimashimashima
質問者

お礼

お礼がすっかり遅くなってしまい申し訳ありません どうもありがとうございました

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

" page"の前の数値の桁数は固定でしょうか?固定なら =MID(A1,FIND(" page",A1)-桁数,桁数)*1

shimashimashima
質問者

お礼

お礼がすっかり遅くなってしまい申し訳ありません どうもありがとうございました

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

関連するQ&A

  • エクセルで数字とアルファベットと文字列を分割する方法

    こんばんは。 エクセルのセルで数字とアルファベットの文字列を分割する方法を教えて下さい。 100AB3.4C → "100" "AB" "3.4" "C" 間にスペースやカンマなど無く、文字数は異なります。 数字は小数点がある場合と無い場合があります。(上記の "100" "3.4" のように) 同じ列に同様のデータが数件~数千件あり、まとめて分割したいです。 関数もしくはマクロ(VBA)で可能であれば教えて下さい。 最近マクロの勉強を初めたのですが、方法が思いつきません。。。 宜しくお願いします。

  • Excel同一セル内の、アルファベットと数字の順番を入れ替えについて教えてください

    ExcelのA列のセルに、アルファベットと数字の組み合わせが3000行くらい入っています。 アルファベットは1~3個でA~Z、 数字も1~3個で0~9 の組み合わせです。アルファベットと数字の配置は A1    A12    A123 AB1 AB12 AB123 ABC1 ABC12 ABC123 の9通りか、数字が先にくる場合の9通りのいずれかです。 (アルファベットと数字はそれぞれまとまっていて、入り混じることはありません) これを、 1A 123ABC  のように、数字を前に持ってくるように統一したいのです。 もともと数字が前に入っているセルはそのままで有効です。 マクロを使わず、B列以降のセルを使って関数でできないでしょうか? ご説明がうまくできなくて申し訳ないです。 よろしくお願いいたします。

  • Excel同一セル内の、アルファベットと数字を別々のセルに置き換える方法を教えてください

    ExcelのA列のセルに、アルファベットと数字の組み合わせが3000行くらい入っています。 アルファベットは1~5個でA~Z、 数字は1~3個で0~9  全て半角です。 の組み合わせです。アルファベットと数字の配置は A1    A12    A123 AB1 AB12 AB123 HD167 SDM12 WB987 の組み合わせです。 (アルファベットと数字はそれぞれまとまっていて、入り混じることはありません) これを、   A  B  C   1 A1  A   1 2 A12 A 12 3 A123 A 123 4 AB1 AB 1 のように、アルファベットと数字を別々にセルに置き換えたいのです。 マクロを使わず、B列以降のセルを使って関数でできないでしょうか? よろしくお願いいたします。

  • 間に入っている数字だけ表示したい

    エクセル2002を使っています。 「出荷」という名前のシートがあります。 A1には、「A940721検品済」と入っていて、A列に600行ぐらい書いてあります。 関数を使って、B1のセルに、間の「940721」という数字(年月日です)だけを表示させたいです。 数字の前はA~Zのアルファベット1文字だけです。 リプレイス関数を使ったら?と上司は言いますが、前にも後にも付けた事が無いので、やりかたが分かりません。 よろしくお願いします。

  • VBAで単位文字を省き数字だけ取る方法

    Excelブック内に200枚くらいあるシート上の各"G8"セルの数値を集計用シートに並べていくマクロです。 これは繰り返し構文で問題ないんですが、セルの数字には「本」の単位が付いています。 381本、1305本、0本などです。 この本を抜かし数字だけを集計用シートのセルに入れたいです。 桁数がまちまちなので一度Len関数でG8セル内の文字数をかぞえ、その数から1(本のぶん)を引いた文字数をLeft関数で取る という方法しか考え付きません。 単位の字を省くだけにしては複雑すぎる気がするんですが、本来はどの様な方法をとるのでしょうか。

  • Excel セル内の文字だけを取り出すには

    Excelの1つのセルに 01234 ABCDEFG のように、「数字5つ(固定)+半角スペース+(任意の数の)文字」 が入力されています。数値は必ず5桁と決まっていますが、 文字列の数はさまざまです。 関数で文字の部分だけ、別のセルに取り出したいのですが、 どの関数を使うとできますか?教えて下さい。 よろしくお願いします。

  • エクセル セル内のスペースで区切られた文字列を下のセルへ貼り付ける

    質問があります。 エクセルのセル内にスペースで区切られた文字列があります。 これをスペースで区切られた文字ごとに下のセルへ移動させたいのですが、 関数または、マクロでできるでしょうか? よろしくおね害します。

  • Excelの1つのセルに入力されたアルファベットと数字を分けるには?

    Excelの1つのセルに「CHSK200510-3」 というような文字が入っていたとします。 それを、「CHSK」と「200510-3」のセルに分けることは出来ますでしょうか? ただし、「CHSK」の部分は毎回4文字ではなく、5文字や6文字、7文字の アルファベットの場合もありイレギュラーなのです。。。 文字の個数が決まっていれば文字列関数で出来たと思うのですが、 取り出す文字数が決まっていない場合はどうすればよいでしょうか? どうぞよろしくお願い致します。

  • エクセルの列番号がアルファベットから数字になってしまいました。

    エクセルの列番号がアルファベットから数字になってしまいました。セルを指定するときにA1のようにしたいのですが、列の名前をアルファベットに戻したいのですが方法がわかりません。バージョンはExcel2003 SP2です。ご教授よろしくお願いします。

  • エクセルのセル内から数字だけを抽出する方法を教えて下さい

    エクセルのセル内から数字だけを抽出する方法を教えて下さい あるデータの列(備考欄)には様々な文字が入っていて、 その中に●名(●は数字)が入っています その数字だけを取り出して 別の列に移す関数を教えて下さい ※この列には他の数字は入っていません、最大で2ケタです よろしくお願いします

専門家に質問してみよう