電子書籍の厳選無料作品が豊富!

こんにちは いつもお世話になっています。

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

エクセル2007

A 回答 (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)

とも書けます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/09/20 01:18

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)
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/09/20 01:12

もうチョット粘りが欲しい脳!!


=LEFT(RIGHT(A2,LEN(A2)-3),LEN(A2)-7)
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/09/20 01:11

次のような式にすればよいでしょう。



=SUBSTITUTE(SUBSTITUTE(A2,MID(A2,3,1),""),MID(SUBSTITUTE(A2,MID(A2,3,1),""),LEN(SUBSTITUTE(A2,MID(A2,3,1),""))-3,1),"")
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/09/20 01:08

=MID(A2,4,LEN(A2)-7)


「A2」の「4」文字目から「LEN(A2)-7」文字数分の文字列
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/09/20 01:06

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2012/09/20 01:06

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

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