• 締切済み

Excel関数:末尾4文字を取り除きたい

Excel2002の関数についてお伺いします。 A列に拡張子の付いたファイル名が入力されています。 ===================== (例) A1→君が代.wma A2→ぞうさん.mp3 A3→メリーさんの羊.aac ===================== 末尾4文字(拡張子)を除いた「曲名のみ」になった値をB列に返すには どのような関数を使用すればいいでしょうか。 ===================== (完成) B1→君が代 B2→ぞうさん B3→メリーさんの羊 ===================== どうぞ、よろしくお願いします。

みんなの回答

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.5

何度もすみません。 #4で提示した式もダメでした。 "."が残ってしまいます。 ↓に訂正します。 =LEFT(A2,FIND(".",A2,1)-1)

hgsdakhr
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.4

#2です。式が間違ってました。 >=LEFT(A2,LEN(A2)-FIND(".",A2,1)) ↓でお試しください。 =LEFT(A2,FIND(".",A2,1)) ※FINDは、検索対象文字が左から何文字目か、 を検索します。 複数含まれる場合は左から見て一番はじめに出てきた 時の何文字目か、になります。

hgsdakhr
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。
noname#58440
noname#58440
回答No.3

  貴方の関数の理解は合ってます。 あとは関数をどの様に組み合わるかだけですネ LEFT関数は左から○○文字を取り出す関数です。 また、LEN関数で総文字数を調べ4引くと「総文字より4文字少ない文字数」がかります。 これで貴方がしたい「右の4文字を削除」と同じ意味の文字数が出来たので、LEFT関数で必用な文字数だけを取り出したのです。  

hgsdakhr
質問者

補足

解説ありがとうございます。 >LEN関数で総文字数を調べ4引くと 引くときは常に末尾からなのか?と疑問が湧いたので、 教えていただいた関数を「left」と「right」両方で試してみました。 ==================================== A3 →どうしておなかがへるのかな.mp3 (数式あ)RIGHT(A3,LEN(A3)-4) (結果あ)おなかがへるのかな.mp3 (数式い)left(A3,LEN(A3)-4) (結果い)どうしておなかがへるのかな ==================================== 演算結果から、引きたい方側(左か右)から、 指定した文字数を残した結果が返されると理解したのですが、 この認識であっていますでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

拡張子でしょうか? 曲名に"."が含まれないなら"."の位置を取得して その左側を切り出します。 =LEFT(A2,LEN(A2)-FIND(".",A2,1)) 右側4文字を削除していいなら =LEFT(A1,LEN(A1)-4) ※拡張子は3文字とは限りません。

hgsdakhr
質問者

補足

ありがとうございます。 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になりません。 お手数ですが、補足をお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
noname#58440
noname#58440
回答No.1

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

hgsdakhr
質問者

補足

教えていただいた関数をコピペしたら、望みどおりの形になりました! ありがとうございます。 LEFTは「文字列の左端から指定した文字数だけ取り出す。」 LENは「文字数を数える」 と理解していますが、なぜこの二つの組み合わせで、 「末尾から指定文字数を削除」というコマンドになるのでしょうか。 よろしければ重ねて教えてください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel関数について教えてください。

    Excel関数について教えてください。 A1が1004の場合は、5555とB1に表示 A1が1005の場合は、5556とB1に表示と A1が1増えると、B1も1増えて表示したいです。 A列  B列 1004 5555

  • Excel日付の部分一致(年月が一致)検索する関数について教えてくださ

    Excel日付の部分一致(年月が一致)検索する関数について教えてください。 A列に日付データがあります。 A列が2010年3月だったら、B列に、1003 2010年4月だったら、1004、以下末尾を+1を反映させる関数を教えてください。 A列         B列 2010/3/6 10:23:19  1003 2010/5/6 9:23:19  1005

  • 【EXCEL関数】教えてください!!

    EXCEL関数について質問です。 1.A列に記入されている文字列の中にあるのに、 2.B列に記入されている文字列の中にないものを 3.C列に抽出 したいのですが、なにか良いEXCEL関数はありますでしょうか。 宜しくお願い致します。

  • Excel関数

    Excel関数を使って下のような表示をさせたいです。 A列:場所、 B列:品名 C列:関数(A列に該当するB列の品名の略称を表示させる)   ※下の表は頭文字を結合したものを表示 C列にはどのような関数をくめばいいでしょうか。 ご教授お願いします。  | A     B     C ーーーーーーーーーーーーーーーー 1|福岡   りんご   りばな 2|京都   ぶどう   ぶ 3|福岡   ばなな   りばな 4|東京   なし    なぶ 5|東京   ぶどう   なぶ 6|福岡   なし    りばな

  • excel関数(検索)

    excel関数でA列に存在するデータがB列に存在するときは、C列に"1"に、存在しないときは"0"とする関数は何を使うべきですか?   A     B     C model-1  model-1  1 model-2  list-02  0 model-3  list-01  1 list-01  model-3  1 list-02  test-01  1

  • どんな関数を使えばいいでしょう(EXCEL)

    EXCEL2003で以下のような表を作っています。 A2~A13・・1月~12月の月を入れています B1~D1・・・店舗名(店舗A~C)を入れています データは店舗ごと(月毎)の売上が入っています。 E列にその月の最低売上をMIN関数で出しています。 F列にE列で出した最低売上の店舗名を出したいのですが、どのように出したらよいのかわかりません。 なるべく簡単な方法で出したいのですが、どうしたら良いでしょうか? 関数で出すと思うのですが、どんな関数を使えばよいでしょうか? よろしくお願いいたします。

  • 【Excel2007】関数などを使いすばやく作業を進めたいのですが…

    【Excel2007】関数などを使いすばやく作業を進めたいのですが… シート1のA列に「文字列a」があります。 シート2のA列にはシート1と同じ「文字列a」があるのですがセルの順番が違います。 シート2のB列に「文字列b」があり文字列aが同じ場合、シート2のB列にある「文字列b」を シート1のB列に表示したいのですが関数等で簡単に処理できないでしょうか。 例)シート1のA64に「イロハ」、シート2のA205に「イロハ」で同じものがある場合、シート2のB205にある文字列「ニホヘト」をシート1のB64に表示したい。 良い方法があれば教えて下さい。宜しくお願いいたします。

  • excel2003でcountifs関数と同等の

    excel2003でcountifs関数と同等の効果を出すにはどうすればいいのでしょうか? 具体的には、A1からB100に1から5の数字がランダムに入っている場合、 AとBの列がどちらも3である行の個数をカウントしたいです。 よろしくお願いいたします。。

  • Excel関数について

    A列にある関数をB列にコピーする場合、 A列=SUM(AA12+AD12)が、B列=SUM(AB12+AE12)となりますが、 +7(週ごとに関数をコピーしたい)した関数をB列にコピーすることは可能でしょうか? A列をコピーした時にB列に=SUM(AH12+AK12)としたいのですが、教えてください。

  • EXCEL2007の関数について

    EXCEL2007を使って集計を取ることになりました。 下記の表のD列に以下のような関数?を記入したいのですが分からないので教えてください。 B列に「お」の記入がある場合のみ(B2)、一つ右のセル(C2)の文字列を「お」のセルから右に2、上に1移動したセル(D1)にコピーしたいです。この場合で言うとD1のセルだけに「か」と記入されるようにしたいのです。   A  B  C  D 1 あ  い  う   2 え  お  か 3 き  く  け D1のセルの場合には =OFFSET(B2,,1) と入力するまでは分かったのですが、これにB2のセルの文字列が「お」の場合のみという条件が付けられません。 私のEXCELの知識は普段関数を使わないのでFOM出版の「よくわかるEXCEL2007」の基本編と応用編を2冊勉強し終えて課題に取り組んでいる程度です。 お手数ですが分かる方、ご教示願えませんでしょうか。