Excelに現在のファイル名をどのように挿入しますか?


14

数式を使用して、対象のExcelスプレッドシートで作業中のファイル名を表示しようとしています。たとえば、ファイルの名前がworkbook1.xlsxの場合、セルA1に「workbook1.xlsx」と表示する必要があります

Microsoftのヘルプサイトが提供する公式は機能しません:http : //office.microsoft.com/en-us/excel-help/insert-the-current-excel-file-name-path-or-worksheet-in- a-cell-HA010103010.aspx#BMinsert3

= MID(CELL( "filename")、SEARCH( "["、CELL( "filename"))+ 1、SEARCH( "]"、CELL( "filename"))-SEARCH( "["、CELL( "filename "))-1)


どのように機能しないのですか?どのような出力が得られますか?ブックを保存しましたか?

回答:


14

ここで動作します。Excel2007(XP)およびExcel 2013(Windows 8)でテストしました。

=CELL("filename")最初に一人で試して、トラブルシューティングを支援します。

  • ブックをディスクに保存したことを確認してください。新しい未保存のブックに数式を入力した場合、「Book1」は表示されません。

  • コンピューターで英語以外の地域設定を使用していますか?関数名と式の構文の調整が必要な一部の言語(たとえば、フランス語では、コンマをセミコロンに置き換える必要があります)。

  • あなたはあなたのパソコンまたは職場のコンピューターを使用していますか?仕事用コンピューターの場合、問題を引き起こすユーザー権利の制限がある可能性があります。

「うまくいかない」と言うとき、もっと具体的に言うことができますか?入力した式を受け入れますか?セルは空で、「#VALUE!」などが表示されていますか?使用すると=CELL("filename")どうなりますか?


私はスペースか何かを持っていたと思う、それは今はうまくいく ありがとう!
timothy.s.lau

Excel 2015ベータ版では機能しないようです。
-Akku

あなたがしていることをセルの確認のマークアップを作成すること(そうではないテキスト/番号など)/一般的な標準である
Lexib0y

1
私のロケールに従って、コンマ文字をセミコロンに変更するまで、それは私にとってはうまくいきませんでした。
mavrosxristoforos

9

最後に変更されたワークブック/ワークシート=CELL("filename")へのパスが提供されるため、abcとxyzの2つのワークブックがあり、数式がabcにある場合、xyzの値を最後に変更すると、abcの数式はそれを反映して戻りますxyz.xlsx

そのため、通常、セル参照(任意のセル参照)を含めることが推奨されます。たとえば、

= CELL( "ファイル名"、A1

そのバージョンを使用すると、式が存在するワークブックのワークブック名​​のみを取得することになります。

この少し短いバージョンを使用できます

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")


2

これは、ファイル名のみを返す「最も簡単な」式であることがわかりました。

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")

or - created in VBA:

Formula = "=REPLACE(LEFT(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))-1),1,FIND(""["",CELL(""filename"",A1)),"""")"

完全なパスを返すには、次のようにします。

=SUBSTITUTE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),"[","")

or - created in VBA:

Formula = "=SUBSTITUTE(LEFT(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))-1),""["","""")"

1

私は同じ問題を抱えていました(貼り付けた数式が機能しませんでした)!数式の,by を置き換えると、;完全に機能しました。

= MID(CELL( "filename"); SEARCH( "["; CELL( "filename"))+ 1; SEARCH( "]"; CELL( "filename"))-SEARCH( "["; CELL( "filename "))-1)


これは、ユーロ版のExcelを使用しているためだと思います。Euroバージョンでは、関数パラメーターにコンマの代わりにセミコロンを使用します。国際版でもコンマを使用していると思います。
krowe2

実際に実行しているExcelのバージョンの問題ではなく、地域の設定で使用している「区切り文字」の問題です。
デロビー

1

より簡単な解決策は次のとおりです。

ExcelファイルでAlt+を押すとF11、Microsoft Visual Basics for Applications(VBA)が開きます。VBAでInsert > Module次のコードを選択して貼り付けます

Public Function GetMyProp(prop As String) As String
    GetMyProp = ThisWorkbook.BuiltinDocumentProperties(prop)
End Function

Excelファイルに次の式を入力します=GetMyProp("Title")。これにより、選択したセルにドキュメントのタイトルが表示されます。


1

オランダ語でExcelを使用する場合は、オランダ語の関数名を使用し、コンマの代わりにセミコロンを使用する必要があります。

=VERVANGEN(LINKS(CEL("filename");VIND.SPEC("]";CEL("filename"))-1);1;VIND.SPEC("[";CEL("filename"));"")

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.