• ベストアンサー

エクセル置換?方法を教えてください

エクセルで置換?というのか良く解りませんが、やりたい事は次のような事です。 セルA1にSA-123456という様に最初の二桁は英文字、-の後6桁の数字があります。その最初の二桁目の英文字にはA,B,C,Dのいずれかが入ります。このA,B,C,Dを判断して隣のB1セルにAの場合数字の1をBの場合2をという具合にA,B,C,Dに対し1,2,3,4を隣のセルに入れたいのですが宜しくお願い致します。

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

  • ベストアンサー
  • nihonjinn
  • ベストアンサー率39% (79/200)
回答No.2

>二桁目の英文字にはA,B,C,D それを判断するにはMID関数を用います MID(A1,2,1) とするとA1セルの二番目から一文字を抽出します。 これを使ってB1に =IF(MID(A2,2,1)="A",1, IF(MID(A2,2,1)="B",2, IF(MID(A2,2,1)="C",3, IF(MID(A2,2,1)="D",4,"")))) とでもすればいいと思います

kazuisa
質問者

お礼

早速のご回答有難う御座います。 早速、試させていただきました。バッチリです! 何分、素人な者で有難う御座いました。

その他の回答 (4)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

一例です。 2桁目は大文字コード、ABCD以外は空白としています。 =IF(AND(CODE(MID(A1,2,1))>64,CODE(MID(A1,2,1))<69),CODE(MID(A1,2,1))-96,"")

kazuisa
質問者

お礼

ご回答有難う御座います。 試してみましたが、帰ってきた数字が-31とかのマイナスの二桁の 数字が出てしまいました。 またよろしくお願いします。

  • goo39
  • ベストアンサー率36% (13/36)
回答No.4

ANo.1です。 失礼しました。 2文字目なら B1=CODE(MID(A1,2,1))-64 です。

kazuisa
質問者

お礼

ご回答有難う御座います。 英文字を大文字と限定するとこれはいいですね。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

2文字目は絶対にA、B、C、D、Eのどれかしか入らないなら  =FIND(MID(A1,2,1),"ABCDE") ですが、他の文字が入るとこの式だけではエラーになります。 エラーにならないようにするなら、ちょっとベタですが以下の式になります  =IF(AND(MID(A1,2,1)>="A",MID(A1,2,1)<="E"),FIND(MID(A1,2,1),"ABCDE"),"")

kazuisa
質問者

お礼

有難う御座いました。 いろいろな方法が有るのに驚いています。

  • goo39
  • ベストアンサー率36% (13/36)
回答No.1

B1=CODE(A1)-64

関連するQ&A

  • Excelで、ハイフンを消したいけど000は残したい

    A列に、 00033-11-55 00432-12-01 00022-11-56 ・・・・・・ と、5桁-2桁-2桁 の数字がずーっと並んでいます。 これを、B列の、各となりのセルに、 000331155 004321201 000221156 ・・・・・・ というふうに、 ハイフンは消すが、000や00は残した数字を表示させたいです。 単に置換で、「-」を「」に置き換えると、00や000が消えてしまいます。。。。。 A列の、セルの書式設定を文字列にしても駄目でした。 どうすればいいでしょうか? 何かうまい関数などは、ありませんでしょうか?

  • エクセルの質問です

    A列は空白 B列に商品をあらわ5桁のコードが入っています。 C列にも同じく商品を表す5桁のコードが入っているのですが、 B列のセルと隣り合ったセルには同じ数字が入っていません。 D列には取引先の会社名が入っています。     B1に入ってる5桁の数字と同じ数字が入っている C列のセルを探し、 そのセルの隣のD列の会社名をA1のセルに表示させたいのですが、 どう関数を組んだらいいのでしょうか? A   B    C   D     12345 12354 A社    12334 12345 B社    12443 12544 C社 上の表の場合B1とC2数字が同じなのでA1にB社と表示させたいのです。  

  • Excelマクロで置換

    Excelマクロで置換 セルA1に6桁・スペース・24桁の数字が入っています。 最初の6桁に130,397,430,440が含まれているシートを選択 そのシートの中に "ああああ"があったら"ああああい"に "いいいい"があったら"いいいいう"に "うううう"があったら"ううううえ"に と置換をするマクロを書きたいと思っています。 置換する対象の文字列は多いので別マクロで作成し呼び出したいと考えています。 シートは1ブックに30シート程。何シートあるかはブックによって変わります。 現在マクロの記録を使って試行錯誤しているのですが なにぶん初心者なのでなかなかうまくいきません。 どなたかご教授頂ければと思います。

  • エクセルの質問です

    A列は空白 B列に商品をあらわ5桁のコードが入っています。 C列にも同じく商品を表す5桁のコードが入っているのですが、 B列のセルと隣り合ったセルには同じ数字が入っていません。 D列には取引先の会社名が入っています。     B1に入ってる5桁の数字と同じ数字が入っている C列のセルを探し、 そのセルの隣のD列の会社名をA1のセルに表示させたいのですが、 どう関数を組んだらいいのでしょうか? A   B    C   D     12345 12354 A社    12334 12345 B社    12443 12544 C社 上の表の場合B1とC2数字が同じなのでA1にB社と表示させたいのです。  B列が昇順で並んでいる C列とD列は重複しない という条件で <=vlookup(b1,c:d,2,false)> という回答を頂いたのですが、 B列が昇順で無い(ランダムに数字が入っています) D列には同じ会社名が何度も出てきます。 どうすればいいのかわかる方お願いします。

  • Excel置換関数を用いて複数の文字列を置換したい

    上手く置換ができずに困っています。よろしくお願いします。 文字を入力した列の隣に、数値化する列を作成しようと思っています。 置換項目を6つ設定しようと思っているのですが、 A=4 B=3 C=2 D=1 E=0 F=0 の条件です。 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"A","4"),"B","3"),"C","2"),"D","1"),"E","0"),"F","0") これではできませんでした...。 どなたか、わかる方がいらっしゃいましたら、ご教授願います。

  • エクセルにおける置換について教えてください

    アクセスがあれば簡単にできると思うんでですが、置換について教えてください。 表に入力された文字が、別表の文字と一致した場合において別表の別の文字に置換を行いたいのです。 例えば、Aと入力した場合、別表にAがあればAとなければ置換しない場合です。同様に、B・C・・・あります。 よろしくお願いします。

  • エクセルのセルに入れた文字あるいは数字を別なセルに1文字づつ、「右詰」で移したい

    以前に エクセルのセルに入れた文字あるいは数字を別なセルに1文字づつ移したい、ということで質問しまして、「MID関数を利用する」事で、先頭文字から一文字ずつ別々なセルに移すことが出来ましたが、スミマセンが次のような場合はどのような関数になるのでしょうか? 例えば「番地などの表示」等で1桁の場合もあれば、5桁あるいは6桁等々の場合もあるとします。これを別なセルに下一桁を合せる様にしたいのです。 例としまして セルA1に1桁~6桁の数字(例:345678)を入力した場合、これを右側のB1には3を、同様にC1には4を、D1=5、E1=6、F1=7、G1=8を関数で入力できるようにしたい。 問題は、桁数が毎回違う場合にG1に下一桁が来るようにしたいのですがRIGHT関数では下一桁だけ応答されるのは上手くいくのですが、下二桁、三桁以上の場合には上手くいきません。 つまり「A1に789」の数字を入力したら、G1=9が、F1=8が、E1=7が応答されるようにしたいのです。 勿論、5桁の場合にはB1が空欄で、C1、D1、E1、F1、G1が埋まる様に、4桁であればB1とC1が空欄で、D1~G1が埋まるように、三桁の場合にはB1~D1が空欄でE1~G1が埋まるようにですが、出来ますでしょうか?? よろしくご教授お願いします。

  • エクセル2003 表示の方法

    どうぞ宜しくお願いします 入力内容は、 1Eに2桁までの数字(0.1~99.9)、 1Fに4桁までの数字(1~9999)、 1Gに4桁までの数字(1~9999)、を入力します 1Hには、A~Dの英文字 ◆例を書きますので宜しくお願い思案す 1Eに、9と入力   1Fに、456と入力   1Gに、789と入力 1Hに、Aと入力しますと  1Bには、09と 1Cには、0456と 1Dには、0789と表示され 1Aには、0904560789Aと表示され 1Hには、09-0456-0789-Aと表示されるようにしたいのです pcあまり詳しくありません どうぞ宜しくお願いします

  • エクセルの置換について

    セルに次のような数式が入っているときに数式の部分だけ置換する方法がありましたらご指導お願いします。 [B1] =SUM(A1+A2) →置換後 =A1+A2 [B2] =SUM(A10+A20) →置換後 =A10+A20 [B3] =SUM(A100+A200) →置換後 =A100+A200 置換する方法は「編集」-「置換」で 検索する文字列と置換後の文字列が分かりません。 SUM(で置換をかけると数式エラーで置換が出来ず SUM(*)で置換をかけると当然ですが全て消えます。 お手数ですが宜しくお願致します。

  • Excelの置換

    すみません、Excelを教えてください。 ↓A1から文字列の項目が縦に並んでいます。先頭の数字(1: )を削除。文末の括弧付き数値をB列に移動したいと思っています。 1: ○○○○○○○○○(981) 2: △△(25) 3: □□□□□□(111) ↓ 2500: ★★★★(1000) 2501: ☆☆☆☆☆☆☆☆☆☆☆☆(299) 置換削除のやり方を教えてください。 ワードで置換削除をやってみましたが、次の行の内容まで削除されてしまい困っています。 文字列の部分的なセル移動はできるでしょうか? 部分的な移動ができない場合、括弧付きの数値で並べ替え等をする方法は無いでしょうか?

専門家に質問してみよう