人に聞けない痔の悩み、これでスッキリ >>

セルA1:12カローラ



セルB1:12 C1:カローラ

にしたいのですが可能でしょうか?

よろしくお願い申し上げます。
 

このQ&Aに関連する最新のQ&A

A 回答 (8件)

数字の桁とかは規則性はありますか?



規則性があって必ず先頭から二桁が数字なら、
=LEFT(A1,2)
で数字を抜き出し、続いて
=MID(A8,3,LEN(A8)-2)
で文字を抜き取ります。

もしも数字の桁数に規則性がないなら、もう一度
内容を補足して下さい。
    • good
    • 2
この回答へのお礼

ありがとうございました。
規則性があり必ず二桁が数字ですので完璧です。

お礼日時:2007/07/14 07:48

◆数字+カタカナ であれば


B1=LOOKUP(10^10,LEFT(A1,COLUMN(1:1))*1)
C1=SUBSTITUTE(A1,B1,)

◆数字+カタカナ+数字 で
★カタカナの前の数字の抽出
B1=LOOKUP(10^10,LEFT(A1,COLUMN(1:1))*1)
★カタカナのみ抽出(ただし、カタカナは連続していることが条件です)
C1=LEFT(REPLACE(A1,1,MIN(INDEX(FIND(CHAR(ROW($9506:$9587)),A1&CHAR(ROW($9506:$9587))),))-1,),SUMPRODUCT(--(CHAR(ROW($9506:$9587))=MID(A1,COLUMN(1:1),1)))+SUMPRODUCT(--("ー"=MID(A1,COLUMN(1:1),1))))

★数字+カタカナ+数字 から、カタカナを除いた数字
B1=RIGHT(SUM(MID(0&A1,LARGE(IF(ISERR(-MID(A1,ROW($1:$50),1)),,ROW($1:$50)),ROW($1:$14))+1,1)*10^(ROW($1:$14)-1),10^14),MIN(14,COUNT(-MID(A1,ROW($1:$50),1))))
★この式は「配列数式」です。式を入力後、Ctrl+Shift+Enter をおして、式を確定させてください。
★確定すると、式の両端に{ }がつきます。
    • good
    • 0

#1,#2の回答者様も書かれていますように、この問題は、なんらかの条件設定が必要です。


例えば、数字の部分が固定長(2桁とか、3桁とか決まりがある)ならば、#1様の回答が簡潔ですし、#2様が書かれてる条件におきましては、#2様の回答が適切でしょう。

私なりにご質問の意図を、「文字列(例:12カローラ)の先頭から、数字が続く限りはその数字(例:12)をB1セルに記述し、数字ではない文字が現れた時点で、残りの文字列(例:カローラ)をC1セルに記述する」と解釈致しました。

その解釈に基づいて、以下ではExcelのユーザ関数を紹介します。
下のユーザ関数'NumLen'というのは、先頭から続く数字の桁数を返すものです。
ユーザ関数の具体的な作成につきましては、参考URLなどを参考になさってください。

Public Function NumLen(sSrc)
 Dim i As Integer
 Dim iLen As Integer

 iLen = Len(sSrc)
 For i = 1 To iLen
  If IsNumeric(Mid(sSrc, i, 1)) = False Then
   Exit For
  End If
 Next
 NumLen = i - 1
End Function

これをVisualBasicEditorで作成した後、

B1セルに、
=LEFT(A1,NumLen(A1))

C1セルに、
=RIGHT(A1, LEN(A1)-NumLen(A1))

と入力してください。

以上です、とダラダラ参考意見を書いていますうちに、#4様によって簡潔な回答がなされていました。
#4様の回答は、私と同様の解釈によるものです。
わざわざユーザ関数を作成するより、ずっと簡潔です!

ただ一点、C1セルにSUBSTITUTE(A1, B1, "")を用いますと、下記の場合に不具合が発生します。
例:A1=12カローラ1200と入力しますと、B1には、"12"、C1には、"カローラ00"と表示されてしまいます。
ですので、C1セルにはSUBSTITUTEを用いない方がいいでしょう。

参考URL:http://www.excel.studio-kazu.jp/lib/e1iw/e1iw.html
    • good
    • 1

B1=LOOKUP(10^10,LEFT(A1,COLUMN(1:1))*1)


C1=SUBSTITUTE(A1,B1,)
    • good
    • 3

例データ


123カローラ   3
13746クラウン5
123567ロゴ6
2345セルシオ4
前半部の数字桁を割り出し。
全角数字も1桁と考える点で、#2の条件より広がっている。
しかし後半部に数字が来ると狂う。
=SUM(IF((MID(JIS($A1),ROW(A$1:A$10),1)>="0")*(MID(JIS($A1),ROW(A$1:A$10),1)<="9")*(MID(JIS($A1),ROW(A$1:A$10),1)<>""),1,0))
と入れて、SHIFT+CTRL+ENTERの3つのキーを同時押し。配列数式。
結果
上記のとおり。
ややこしい式ですみません。
小生は、配列数式男ですので。
もう少し簡単な式が以前出ていたように思いますが思い出せない。
ーー
VBAでユーザー関数を作る方が簡単なようです。
    • good
    • 0

B1: {=LEFT(A1,MATCH(TRUE,(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>="A",0)-1)} (配列数式)


C1: =SUBSTITUTE(A1,B1,"")
    • good
    • 0

C1=MID(A1,LENB(JIS(A1))-LENB(A1)+1,99)


コピペのミスがありました。
    • good
    • 0

条件1=数字が半角である。


条件2=文字列が全角である。
条件3=数字+文字列である。

以上の3条件が確実であれば、全体を全角に変換した時のバイト差を利用できます。

B1=LEFT(A1,LENB(JIS(A1))-LENB(A1))
C1=LEFT(A1,LENB(JIS(A1))-LENB(A1))

A1_____________B1_______C1
12カローラ_____12_______カローラ
    • good
    • 1
この回答へのお礼

ありがとうございました。
勉強になります。

お礼日時:2007/07/14 07:49

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel セル内の文字と数字をわけるには??

一つのセルの中に、文字と数字が入っているのですが、
それを別々のセルに分けたいのです。。。

例)
後楽1-1-1 → 後楽 と 1-1-1
西新宿2-2 → 西新宿 と 2-2

どなたか良い方法をご存知でしたら、教えて下さい~!!

Aベストアンサー

↓こちらの26番「数字で始まる部分から区分」を参考にしてください。

参考URL:http://www2.odn.ne.jp/excel/waza/function.html

Qエクセル 数値だけ抽出するには?

エクセルで、文字列+スペース+数字と入力されているセルから数値だけ取り出す方法を教えていただけますか?
文字列とスペースの字数は一定で、数値の桁数は6-8桁と変動します。
A列からb列のように変換したいのです。

A列          B列
PMID:_12345678    12345678
PMID:_123456     123456

宜しくお願いいたします。

Aベストアンサー

B1に
VALUE(REPLACE(A1,1,6,""))
でよいでしょう.

数値の桁数には依存しません.

Q数値とアルファベットに分ける(エクセル)

例えばA列に
ABCD1234
KJD234
LO2335
FDRTY3523
上記のように品番が入力されていたとします
これをアルファベットをB列に数値をC列に
分ける簡単な方法はありませんか?
やはり、関数しかないでしょうか?

Aベストアンサー

こんにちは。KenKen_SP です。

A1 からデータが始まるとして、

B1 の数式:(アルファベット部)
=LEFT(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},ASC(A1)&1234567890))-1)

C1 の数式:(数字部)
=RIGHT(A1,LEN(A1)-LEN(B1))

とし、B1:C1 を選択して、データ終端までフィルでコピーです。
関数のままが嫌なら、最後にコピー&形式を選択して貼り付け で値にすれば
良いと思います。

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

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

よろしくお願いします

Aベストアンサー

セル内の文字列の中に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,"")

QExcel 文字列の中から数字だけを削除したい

Excel 2007で各セルに文字列として入力されている、数字を削除し文字だけにしたい。
数字は先頭に入力されています。(顧客コード)

例:
12345-001 ABC株式会社
98765- ZYX有限会社ごお商会 等

数字を削除し文字列だけで元のセルにセットしたいです。


きっと簡単なことなんでしょうけど、過去を検索しても良くわかりませんでした。

よろしくお願いいたします。

Aベストアンサー

[No.3お礼]へのコメント、

私が提示した式の意味が分かる(と思う)添付図を参照ください。
B1: =TRIM(ASC(A1))
C1: =FIND(" ",B1)
D1: =MID(B1,C1+1,99)

最後の式中の B1、C1 に上2つの式を代入すれば、提示式になります。

セル A2 の「ZYX有限…」の直前は全角スペースだったので、半角スペース1個にするために、先ずはASC関数で全角スペース1個を半角スペース2個にし、TRIM関数で複数個の半角スペースを1個に置き換えています。ちなみに、文字列の左端や右端にスペースがあればそれらを除去します。
最初のスペースの「次」から文字列を切り出すので「+1」になっています。
A列の文字数は百文字以上は考えなくてよかろうと推測して「99」にしました。

【注意】3行目以降に示したように、全角アルファベットおよび全角カナは、何れも半角文字になってしまいます。

以上の解説で分からなければ、貴方の「レベル」に合った回答に従ってください。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで、いつのセルに入っている7桁の数字をそれぞれ1つづつ、7つのセルに分ける関数はありますか??

こんばんは。大変こちらでお世話になっています。

エクセルのデーターをもとに、宛名印刷をしたくていろいろ試みているのですが、会社規定の封筒の郵便番号枠に、美しく数字を印字することがどうしてもできません。
こうなったら、郵便番号をばらして、1字づつ印刷しようかと思っています。

そこで教えて頂きたいのですが、今1つのセルに入っている郵便番号7桁をそれぞれ1桁づつ、7つのセルに分けたいのです。これは何か関数を使ってできるのでしょうか?
どうぞ教えてください。よろしくお願いします。

Aベストアンサー

MIDという関数が良いかと思います。
A1に対象の値が入っているとして
=MID(A1,xxx,1)
xxxの部分は何桁目から取り出すか、最後の数字が何文字取り出すかという指定です。

例)A1に「abcdefg」とあり
=MID(A1,3,1)
とすると「c」が表示されます。

Q【エクセル】セル内の文字列から数値のみを抽出する方法

A1●●●●1111
A2××××××222222
A3■■■■■■■■■■■1234567890

上記のように文字列と数値が一続きになっているデータが各セルに入っています。
文字列+数値の順番は決まっていますが、それぞれの文字数は決まっていません。数値はマイナスの場合もあります。
また、境にカンマやスペースなどもないため、テキストファイルウィザードも使えません。
このデータから、数値のみを抽出する方法がありましたらご教示下さい。
よろしくお願いします。

Aベストアンサー

No.3の方に似ていますが…。

=IF(ISERROR(FIND("-",A1))
,MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A1)&"0123456789")),LEN(A1))
,MID(A1,FIND("-",A1),LEN(A1)))

(長くなってしまったので改行していますが、1行に入れてください)
これで数字部分の桁制限なく抜き出せるかと思います。

Qエクセルで、頭に0をつけて数字の桁を揃える方法

エクセルで、必ず5桁の数字を入れる列があるとします。
ところが、数値データとして最初に作っているので、0が頭になく桁が足りない場合があります。
任意文字として5桁の数字にしたいのですが、

何かいい方法はありませんでしょうか?

例)
A列 A列
50      00050
1000  ⇒  01000
11111    11111

どうぞよろしくお願いいたします。

Aベストアンサー

次の方法は如何でしょうか。
(1)表示だけで良いのならば、セルの書式設定→表示形式→ユーザ定義で00000を設定
(2)データとして必要ならば、空き列(仮にB列)B1に=TEXT(A1,"00000")を入力、下方向にコピー→B列をコピー→A列に形式を選択して貼り付けで「値」を選択→OK、B列を削除

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング