• ベストアンサー

Left関数とRight関数を合わせたような

こんにちは いつもお世話になっています。 A列に文字列があります。 文字の長さは不定ですが、左から3文字、右から4文字は共通して不要なので削除したいです。right,leftの両関数を合わせたような関数を教えてください。 二列で分けて処理するのではなく一回の関数で処理希望です。 =LEFT(A2,LEN(A2)-4)&RIGHT(A2,LEN(A2)-3) こんなので失敗しています。 よろしくお願いします エクセル2007

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

  • ベストアンサー
回答No.6

>=LEFT(A2,LEN(A2)-4)&RIGHT(A2,LEN(A2)-3) 惜しいです。関数が入れ子になっていないからです。 =RIGHT(LEFT(A2,LEN(A2)-4),LEN(LEFT(A2,LEN(A2)-4))-3)で出来ます。 以下、参考にどうぞ =RIGHT(対象文字列,LEN(対象文字列)-3) とまず考え、 次に対象文字列をLEFT(A2,LEN(A2)-4) に置き換えます。 同様に =LEFT(対象文字列,LEN(対象文字列)-4) とまず考え、 次に対象文字列をRIGHT(A2,LEN(A2)-3) に置き換えます。 すると =LEFT(RIGHT(A2,LEN(A2)-3),LEN(RIGHT(A2,LEN(A2)-3))-4) とも書けます。

5goma
質問者

お礼

toshi_2010 様 ありがとうございました。 お陰さまで解決しました。 大切に使わせていただきます。 詳しく考え方までお示しいただき助かりました。 簡単で恐縮ですがお礼申し上げます。

その他の回答 (5)

回答No.5

MID関数で良いと思いますが 遊びで >=LEFT(RIGHT(A2,LEN(A2)-3),LEN(A2)-7) があるなら =RIGHT(LEFT(A2,LEN(A2)-4),LEN(A2)-7) REPLACE関数を使って =REPLACE(REPLACE(A2,1,3,),LEN(A2)-6,4,) さらに組み合わせて =LEFT(REPLACE(A2,1,3,),LEN(A2)-7)

5goma
質問者

お礼

CoalTar 様 ありがとうございました。 お陰さまで解決しました。 大切に使わせていただきます。 簡単で恐縮ですがお礼申し上げます。

回答No.4

もうチョット粘りが欲しい脳!! =LEFT(RIGHT(A2,LEN(A2)-3),LEN(A2)-7)

5goma
質問者

お礼

JazzCorp 様 ありがとうございました。 お陰さまで解決しました。 大切に使わせていただきます。 簡単で恐縮ですがお礼申し上げます。

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

次のような式にすればよいでしょう。 =SUBSTITUTE(SUBSTITUTE(A2,MID(A2,3,1),""),MID(SUBSTITUTE(A2,MID(A2,3,1),""),LEN(SUBSTITUTE(A2,MID(A2,3,1),""))-3,1),"")

5goma
質問者

お礼

KURUMITO 様 ありがとうございました。 あわてたせいか失敗しております。 両端は削除されず中ほどの文字列がいくつか削除される状態です。 また、やり直してみます。 簡単で恐縮ですがお礼申し上げます。

  • f272
  • ベストアンサー率46% (8529/18257)
回答No.2

=MID(A2,4,LEN(A2)-7) 「A2」の「4」文字目から「LEN(A2)-7」文字数分の文字列

5goma
質問者

お礼

f272 様 ありがとうございました。 お陰さまで解決しました。 大切に使わせていただきます。 簡単で恐縮ですがお礼申し上げます。

  • since_1968
  • ベストアンサー率24% (254/1053)
回答No.1

MIDB(文字列,開始位置,バイト数)を使ってみてはどうでしょうか

5goma
質問者

お礼

since_1968 様 ありがとうございました。 大切に使わせていただきます。 簡単で恐縮ですがお礼申し上げます。

関連するQ&A

専門家に質問してみよう