アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel2002の関数についてお伺いします。
A列に拡張子の付いたファイル名が入力されています。
=====================
(例)
A1→君が代.wma
A2→ぞうさん.mp3
A3→メリーさんの羊.aac
=====================

末尾4文字(拡張子)を除いた「曲名のみ」になった値をB列に返すには
どのような関数を使用すればいいでしょうか。

=====================
(完成)
B1→君が代
B2→ぞうさん
B3→メリーさんの羊
=====================

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

A 回答 (5件)

 


B1に
=LEFT(A1,LEN(A1)-4)
を入れて下にコピーして下さい。

 

この回答への補足

教えていただいた関数をコピペしたら、望みどおりの形になりました!
ありがとうございます。

LEFTは「文字列の左端から指定した文字数だけ取り出す。」
LENは「文字数を数える」
と理解していますが、なぜこの二つの組み合わせで、
「末尾から指定文字数を削除」というコマンドになるのでしょうか。

よろしければ重ねて教えてください。

補足日時:2007/09/22 17:40
    • good
    • 0

拡張子でしょうか?



曲名に"."が含まれないなら"."の位置を取得して
その左側を切り出します。

=LEFT(A2,LEN(A2)-FIND(".",A2,1))

右側4文字を削除していいなら
=LEFT(A1,LEN(A1)-4)

※拡張子は3文字とは限りません。

この回答への補足

ありがとうございます。

b4330様と同回答の「=LEFT(A1,LEN(A1)-4)」の関数ではできたのですが、
「FIND」関数を使用したほうは正しく答えが導かれませんでした。

(例)
A2セル
A Bencao, Bahia.mp3
 ↓
(入力した数式)=LEFT(A2,LEN(A2)-FIND(".",A2,1)) ↓
(返された値)A B

ちなみにFIND関数だけを抜き取って
=FIND(".",A2,1) とすると「16」という値になります。
また、LEAN関数だけを抜き取って
=FIND(".",A2,1) とすると「19」という値になります。

この二つの関数を組み合わせたのは、
1)ピリオドを含めた、ピリオドの位置から末尾までの文字数をカウントし、
2)A2セル全体の文字数から1)の値を差し引く
という意図だと思うのですが、
19-16=3 で、4になりません。

お手数ですが、補足をお願いいたします。

補足日時:2007/09/22 18:06
    • good
    • 0

 


貴方の関数の理解は合ってます。
あとは関数をどの様に組み合わるかだけですネ

LEFT関数は左から○○文字を取り出す関数です。
また、LEN関数で総文字数を調べ4引くと「総文字より4文字少ない文字数」がかります。

これで貴方がしたい「右の4文字を削除」と同じ意味の文字数が出来たので、LEFT関数で必用な文字数だけを取り出したのです。

 

この回答への補足

解説ありがとうございます。

>LEN関数で総文字数を調べ4引くと
引くときは常に末尾からなのか?と疑問が湧いたので、
教えていただいた関数を「left」と「right」両方で試してみました。

====================================
A3 →どうしておなかがへるのかな.mp3

(数式あ)RIGHT(A3,LEN(A3)-4)
(結果あ)おなかがへるのかな.mp3

(数式い)left(A3,LEN(A3)-4)
(結果い)どうしておなかがへるのかな
====================================
演算結果から、引きたい方側(左か右)から、
指定した文字数を残した結果が返されると理解したのですが、
この認識であっていますでしょうか?

補足日時:2007/09/22 19:49
    • good
    • 0

#2です。

式が間違ってました。

>=LEFT(A2,LEN(A2)-FIND(".",A2,1))

↓でお試しください。

=LEFT(A2,FIND(".",A2,1))

※FINDは、検索対象文字が左から何文字目か、
を検索します。
複数含まれる場合は左から見て一番はじめに出てきた
時の何文字目か、になります。

この回答への補足

FIND関数の説明、ありがとうございました。

補足日時:2007/09/22 19:51
    • good
    • 0

何度もすみません。



#4で提示した式もダメでした。
"."が残ってしまいます。
↓に訂正します。

=LEFT(A2,FIND(".",A2,1)-1)
    • good
    • 1
この回答へのお礼

検証したところできました。
ありがとうございました。

お礼日時:2007/09/22 19:32

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