• ベストアンサー

エクセルで文字列の右から4文字を削除してセルに表示したい

明けましておめでとうございます。宜しくお願いします。 エクセルの文字表示で、A列(A1~A20)に文字数の違う文字列が20行程入力されています。それを、A列(A1~A20)のセルに入力されてされている文字列から4文字だけ削除して、B列(B1~B20)に表示(入力)したいのですがどうすればいいのでしょうか? 例えば、A列(A1~A20)のセルにそれぞれ「今年は2008年です。etc.」とか「今年は2008年1月3日です。etc.」、、、など文字数の違った文字列が入力されているセルの右から4文字分「etc.」だけ削除してB列(B1~B20)に「今年は2008年です。」とか「今年は2008年1月3日です。」というふうに表示(入力)したいのです。テキストを読んでMID関数で出来るかなと思ったのですが、MID(文字列の、何文字目から、何文字分)というもので、文字列の左から何文字目を先頭に、何文字分を表示ということで、私のやりたい事の逆なのです。いい方法を教えて下さい。

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

=MID(A1,1,LEN(A1)-4) では?

abeji-
質問者

お礼

さっそくの回答有難うございます。そうですか。MID関数とLEN関数を合わせて使用するんですね。助かりました。今から、やってみます。

その他の回答 (5)

回答No.6

ANo5さんの方法で =SUBSTITUTE(A1,RIGHT(A1,4),"") 右から四文字を置き換え

abeji-
質問者

お礼

ご丁寧に回答有難うございます。皆さんに教えて頂いた事を一つづつ行っていた所ですが、このSUBSTITUTE関数についてテキストを見てやる予定だったので大変、助かりました。さっそく、やってみます。有難うございました。

  • akiatom
  • ベストアンサー率0% (0/3)
回答No.5

文字列操作関数SUBSTITUTE(サブスティテュート)が良いのではないでしょうか。

abeji-
質問者

お礼

さっそくの回答有難うございます。皆さんに教えて頂いた方法を今からひとつひとつやってみます。有難うございました。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.4

#2 Cupperです あれ? すでにまとめが入ってるけど気にせずRight関数を使った例をあげてみます  #だってさ、LEFT関数、MID関数ときたらやっぱり次はRIGHT関数でしょ こんな面倒なことする必要はありませんが、こんな事もできると言う例として参考にしてください =SUBSTITUTE(A1,RIGHT(A1,4),,1) =SUBSTITUTE(A1,RIGHT(A1,4),,(LEN(A1)-LEN(SUBSTITUTE(A1,RIGHT(A1,4),)))/4) これは文字列から指定した文字列(右4文字)を空白文字に置換えることで実現しています  ※SUBSTITUTE関数についてはExcelのヘルプを参照してください 二つ目の長い数式は、右4文字と同じ文字列が他にも存在した場合を考慮した物です 元の文字列から、問答無用で指定した文字列を空白に置換えた場合の文字数を引き算で計算しています コレを4で割れば、一番最後に出てきた文字列(すなわち一番右)が何番目に出てくるか分かりますので 右4文字だけを指定して空白文字に置き換えることができます ロジカルな遊びですので真似しなくてもOKです

abeji-
質問者

お礼

再度のご教示有難うございます。それも合わせて勉強させて貰います。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

もう回答は出ているが、案外易しい問題です。 セルの文字列の長さは=LEN(A1)で求められる。 右端の4文字を省くのだから、文字列の先頭から左部分を採るLEFT関数を使う。LEFT関数は文字数だけを指定するので =LEFT(A1,LEN(A1)-4) ーー 文字列で使える関数はそう多くない MID、LEFT、RIGHT、LEN((それぞれBつき、なしとあり)、TRIMなど なのでまとめて勉強のこと

abeji-
質問者

お礼

親切丁寧な回答有難うございます。皆さんに教えて頂いた方法を今からさっそくひとつひとつやってみます。有難うございました。

  • lark_0925
  • ベストアンサー率63% (37/58)
回答No.1

=LEFT(A1,LEN(A1)-4) では?

abeji-
質問者

お礼

さっそくの回答有難うございます。そうですか。関数を合わせて使用するんですね。助かりました。今から、やってみます。

関連するQ&A

専門家に質問してみよう