• ベストアンサー

excelで文字列の切り抜き

excel2003でファイル名を取得したいのですが、 あるセルにc:\test\test.xlsと記入したら 隣のセルに自動でtest.xlsと表示させるにはどうしたらいいのでしょうか? 関数で表示したいのですが、フォルダが構成がいつも同じではなくても、 対応できる方法はありませんか?

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

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

配列数式で =MID(G14,MAX(IF(MID($G$14,ROW(A1:A60),1)="\",ROW(A1:A60),0))+1,LEN(G14)-MAX(IF(MID($G$14,ROW(A1:A60),1)="\",ROW(A1:A60),0))) A60は最大文字数を見積もってください。Max(IF(・・で¥のある位置の最右を求めてます。

その他の回答 (4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

#3のWendy02です。 引用符抜けてしまい、すみません。 それで、配列数式を使わないで、別の式を作ってみました。 =MID(A1,FIND("^",SUBSTITUTE(A1,"\","^",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,256)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 フォルダが構成がいつも同じではなくても、対応できる方法はありませんか? =MID(A1,MAX(INDEX((MID(A1,ROW(1:256),1)="\")*ROW(1:256),,))+1,256)

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

ちょっとマクロ(ユーザ定義関数)を使います。 Alt+F11でVBAの画面を開きます。 「挿入」>「標準モジュール」を選択します。 右の画面に以下のマクロを貼り付けます。 Function FindR(T As String, S As String) As Integer   Application.Volatile   FindR = InStrRev(S, T) End Function VBAの画面を閉じてExcelに戻ります。 A1にフルパスのファイル名が入っているとすると、 =RIGHT(A1,LEN(A1)-FINDR("\",A1)) でファイル名だけを表示させることができます。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

◆A1に「c:\test\test.xls」を記入したとします =REPLACE(A1,1,FIND("♪",SUBSTITUTE(A1,"\","♪",2)),) ◆なお、ファイル名を取得する式は下ではいかがでしょうか? =REPLACE(LEFT(CELL("FILENAME"),FIND(".xls",CELL("FILENAME"))-1),1,FIND("[",CELL("FILENAME")),)

関連するQ&A

  • エクセルで他のブックの参照

    ファイル名:Test1.xlsのセルに、"="と入力し、ウィンドウで、Test2.xlsを選択して、Sheet1の"A1"のセルを選択すると、Test1.xlsのセルには、=[Test2.xls]Sheet1'$A$1と入力されます。 そこで、一度Test1.xlsを保存して、再度開くと、、=[Test2.xls]Sheet1'$A$1の部分が、絶対パスに自動的に更新されてしまします。 これを、相対パスで扱う方法ってありますでしょうか? フォルダーを移動させることがあり、どのように対応すればいいのか悩んでいます。 宜しくお願い致します。

  • Excel 関数 列内の文字を参照し隣列の値を返す

    Excel2003です。 関数を使ってみたのですが、思うようにいきません。 C列を参照し、「みかん」という言葉があれば、そのセルの隣の列の値(D列の「B」)を、A1に表示したいです。 最初は、VLOOKUP関数を使えばいいと思っていましたが、「検索値」というものがはっきりしない為、使用できない?のでしょうか? 「みかん」という単語を探し出すには「COUNTIF」でしょうが、その関数では、直接その値を返すのみなので、何かの関数と組み合わせるのか、それとももっと良い関数があるのでしょうか? なお、C列に「みかん」という単語は一度しか登場しない為、列内に複数「みかん」が存在している場合にの対処法は、不要です。単純に、「みかん」の値の2列目だけをA1セルに表示させたいのです。

  • エクセル MATCH関数でファイル名等の値をセルから持ってくる方法を教えてください

    エクセル初心者です。 MATCH関数で、別ファイルの値を取得しようとしていますが うまくいかないのでどなたか教えていただけませんでしょうか? 下記のように直接ファイル名やシート名を記述するとうまく いくのですが、 [式]  =MATCH(C7,[test.xls]テストシート!C1:C100,0) ファイル名とシート名を変えることがあるので、  セルB5 → test.xls  セルC5 → テストシート として、B5とC5を用いて記述しようと、&や""を使っていろいろと 式に入れてみたのですが、うまくいきません。 途中まではうまくいきそうになっても、C1:C100 の範囲指定で tesx.xlsではなくて自分自身の C1:C100 を参照したりと、 思った結果になりません。 どなたか、教えていただけると助かります。 宜しくお願いいたします。

  • Excelで、計算式+文字列で表示したい

    現在、MyDocumentsのtest.xlsの A1セルに「山田」と入っています。 次に、test2.xlsのセルに以下の計算式を入れます。 ='My Documents\[test.xls]'!$A$1 (これで「山田」と表示される) 上記の計算式で出た結果の最後に「様」と付けたいのですが、どうしたらよいでしょうか? (「山田様」と表示されるようにしたい) +や&を付けていろいろやってみたのですが、どうしても出来ません。 どなたかご存知の方、解決策を教えてください。

  • EXCEL HYPERLINKの関数表示を文字に変える方法?

    EXCEL2002を使っています。 現在A1のセルに=HYPERLINK("C:\My Documents\1.xls")という式を入れています。A2のセルには左記式と同じでファイル名が2.xls、以降順番にA2000(2000.xls)まで同様の式を入れています。 現在、A1からA2000のセルまで関数の式が表示されてしまっているのですが、できれば関数の式は見せずに任意の文字を表示させ、さらにその文字をクリックすればリンクがはられるようにしたいのです。 文字を先に入力してメニューの挿入→ハイパーリンクとやれば希望通りの物ができるのですが、2000件ものマニュアル作業は避けたいと思います。 HYPERLINKの式を先に入力した場合でクリックのできる文字表示にする良い方法はないでしょうか?

  • 【エクセル】隣のセルで特定の文字列があったら、表示。

    〔セルC列に関数を入れたいとして、 隣のセル(C1だったらB1)に、 「集計」という言葉があったら、 C1にB1のセル全体を表示しなさい。〕 というだけの関数を入れたいだけなのですが、 IF?,FIND?なんだか、ごちゃごちゃになってしまいました・・・ どなたか何卒、ご指導よろしくお願い致します。

  • 文字列操作について教えてください

    はじめまして。 はじめて質問するので、不適切な質問等をしてしまったらすみません。 仕事で頼まれたのですが、 例 あいう/えお/かき.xls とゆう値がセルに記入されている場合 一番最後の/から後ろの文字を抽出できるような関数はありませんか? (例でいうと、かき.xlsを抽出したい) Excelの関数を組み合わせたりする応用が考えられない為、ぜひ教えてくださいお願いします。

  • エクセルの文字列検索

    Office2003のエクセルで例えば   A B 1 一 山 2 一 山 3 一 川 4 二 海 5 二 海 というような表があるとします。下のように  C D E 1一 山 川 2二 海 C1のセルに「一」を入力すると、対応する山と川をD1とE1の セルに表示してくれるような関数は無いでしょうか? 配列関数など色々探しましたが良いのが分かりません。 宜しくお願いします。

  • Excelの文字列検索関数について

    Excel2007で、あるセルに入っている英単語が、別のセル範囲(複数セル)に入っている英文の中にあるかどうか、を調べたいのですが、関数を使って実現できるでしょうか? たとえば、 A1に"This is a pen." A2に"That is a desk" という英文があり、 B1に"bat", B2に"pen"を入れたとします。 この場合、A1~A2に"bat"は存在しないのでC1には"FALSE"が、 A1~A2に"pen"は存在するのでC2には"TRUE"が自動的に入るようにしたいのです。 (TRUE - FALSE でなくても、数字などでもかまいません) FIND関数は単一セルの中の文字列しか検索できないし、 MATCH関数はセル内容が同一でないと結果が出ないのでそのままでは使えません。 何かいい方法はないでしょうか。

  • エクセルでパスを含んだファイル名

    エクセルのヘッダー・フッター編集で ワードのように"パスを含んだファイル名"(またはシート名)を 自動?で挿入することはできるでしょうか。 例えば、Cドライブの「あ」と言うフォルダーに保存してある テスト.xlsの「い」と言うシート名をヘッダーに挿入したい 場合、 C:\あ\テスト.xls\い と言うようにです。 ご教授をお願いいたします。

専門家に質問してみよう