Як вставити поточне ім'я файлу в 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 ("ім'я файлу"), SEARCH ("[", CELL ("ім'я файлу")) + 1, SEARCH ("]", CELL ("ім'я файлу")) - SEARCH ("[", CELL ("ім'я файлу") ")) - 1)


Яким чином це не працює? Який вихід він дає? Ви зберегли робочу книжку?

Відповіді:


14

Це працює тут, я щойно тестував на Excel 2007 (XP) та Excel 2013 (Windows 8).

Спробуйте =CELL("filename")спочатку самостійно, щоб допомогти вирішити проблеми.

  • Переконайтесь, що ви зберегли свою робочу книжку на диску. Він не відображатиме "Book1", якщо ви додасте формулу в нову незбережену робочу книжку.

  • Чи використовуєте регіональні налаштування не на англійській мові? Деякі мови, які потребують коригування імен функцій та синтаксису формул (наприклад, французькою мовою, коми повинні бути замінені крапками з комою).

  • Ви на своєму персональному комп’ютері чи на комп’ютері на робочому місці? Якщо це робочий комп'ютер, можливо, можуть виникнути обмеження прав користувачів, що спричинить проблеми.

Коли ви кажете "це не працює", чи можете ви бути більш конкретними? Чи приймає формула як набрану? Чи осередок порожній, показуючи "# VALUE!" Тощо? Що відбувається при простому використанні =CELL("filename")?


Я думаю, у мене був простір чи щось таке, воно працює і зараз. Спасибі!
timothy.s.lau

Схоже, це не працює в бета-версії Excel 2015.
Акку

Переконайтесь, що розмітка комірки, в якій ви перебуваєте, є загальною / стандартною (тому не текст / номер тощо)
Lexib0y

1
Це не спрацювало для мене, поки я не змінив символ коми на напівкрапку, відповідно до моєї мови.
mavrosxristoforos

9

Зауважте, що =CELL("filename")вам надається шлях до останньої робочої книги / робочого листа, зміненого, тому якщо у вас відкриті 2 робочі книги, abc та xyz, а ваша формула знаходиться в 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

У мене була така ж проблема (вставлена ​​формула не працювала)! Після того, як я замінив ,на ;у формулі вона працювала ідеально.

= MID (CELL ("ім'я файлу"); SEARCH ("["; CELL ("ім'я файлу")) + 1; SEARCH ("]"; CELL ("ім'я файлу")) - SEARCH ("["; CELL ("ім'я файлу) ")) - 1)


Я вважаю, що це тому, що ви використовуєте євро-версію Excel. Версія Євро використовує крапки з комою замість коми для значень параметрів функції. Я вважаю, що в міжнародній версії використовуються коми.
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"));"")

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.