Làm thế nào để bạn chèn tên tệp hiện tại trong Excel?


14

Tôi đang cố gắng xem tên tệp mà tôi đang làm việc trong bảng tính Excel quan tâm bằng cách sử dụng công thức. Ví dụ: nếu tệp được gọi là workbook1.xlsx thì tôi muốn ô A1 hiển thị "workbook1.xlsx"

Công thức mà trang trợ giúp của Microsoft cung cấp không hoạt động: http://office.microsoft.com/en-us/excel-help/insert-the-civerse-excel-file-name-path-or-worksheet-in- a-cell-HA010103010.aspx # BMinsert3

= MID (CELL ("tên tệp"), SEARCH ("[", CELL ("tên tệp")) + 1, SEARCH ("]", CELL ("tên tệp")) - SEARCH ("[", CELL ("tên tệp ")) - 1)


Nó không hoạt động theo cách nào? Nó cho đầu ra gì? Bạn đã lưu sổ làm việc?

Câu trả lời:


14

Nó hoạt động ở đây, tôi vừa thử nghiệm trên Excel 2007 (XP) và Excel 2013 (Windows 8).

Hãy thử =CELL("filename")một mình trước để giúp khắc phục sự cố.

  • Hãy chắc chắn rằng bạn đã lưu sổ làm việc của bạn vào đĩa. Nó sẽ không hiển thị "Book1" nếu bạn đặt công thức vào một sổ làm việc mới chưa được lưu.

  • Bạn đang sử dụng cài đặt khu vực không phải tiếng Anh trên máy tính của bạn? Một số ngôn ngữ yêu cầu điều chỉnh tên hàm và cú pháp công thức (ví dụ bằng tiếng Pháp, dấu phẩy phải được thay thế bằng dấu chấm phẩy).

  • Bạn đang trên máy tính cá nhân của bạn hoặc một máy tính tại nơi làm việc? Nếu đó là một máy tính làm việc, có lẽ có những hạn chế về quyền người dùng gây ra sự cố.

Khi bạn nói "nó không hoạt động", bạn có thể nói cụ thể hơn không? Nó có chấp nhận công thức như đã gõ không? Ô có trống không, hiển thị "#VALUE!", V.v? Điều gì xảy ra khi chỉ sử dụng =CELL("filename")?


Tôi nghĩ rằng tôi đã có một không gian hoặc một cái gì đó, nó hoạt động ngay bây giờ. Cảm ơn!
timothy.s.lau

Dường như không hoạt động trong bản thử nghiệm Excel 2015.
Akku

Đảm bảo đánh dấu của ô mà bạn đang ở là chung / chuẩn (không phải là văn bản / số, v.v.)
Lexib0y

1
Nó không làm việc cho tôi, cho đến khi tôi thay đổi ký tự dấu phẩy thành dấu chấm phẩy, theo địa phương của tôi.
mavrosxristoforos

9

Lưu ý rằng =CELL("filename")cung cấp cho bạn đường dẫn đến bảng tính / bảng tính cuối cùng đã thay đổi, vì vậy nếu bạn mở 2 sổ làm việc, abc và xyz và công thức của bạn nằm trong abc, nếu bạn thay đổi giá trị trong xyz lần cuối, công thức trong abc sẽ phản ánh điều đó và trả vềxyz.xlsx

Vì lý do đó, thông thường nên bao gồm một tham chiếu ô (bất kỳ tham chiếu ô nào), vd

= CELL ("tên tệp", A1 )

Sử dụng phiên bản đó có nghĩa là bạn sẽ chỉ nhận được tên sổ làm việc của sổ làm việc trong đó công thức nằm trong đó.

Bạn có thể sử dụng phiên bản ngắn hơn một chút

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


2

Tôi thấy đây là công thức "đơn giản nhất" chỉ trả về tên tệp :

=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)),"""")"

Để trả về đường dẫn đầy đủ , điều này sẽ làm:

=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

Tôi đã có cùng một vấn đề (công thức dán không hoạt động)! Khi tôi thay thế ,bằng ;công thức, nó hoạt động hoàn hảo.

= MID (CELL ("tên tệp"); SEARCH ("["; CELL ("tên tệp")) + 1; SEARCH ("]"; CELL ("tên tệp")) - SEARCH ("["; CELL ("tên tệp ")) - 1)


Tôi tin rằng điều này là do bạn đang sử dụng phiên bản Euro của Excel. Phiên bản Euro sử dụng dấu chấm phẩy thay vì dấu phẩy cho các tham số chức năng. Phiên bản quốc tế cũng sử dụng dấu phẩy.
krowe2

Đây thực sự không phải là vấn đề của phiên bản excel mà bạn đang chạy mà là "phân định" bạn đang sử dụng trong cài đặt khu vực.
deroby

1

Giải pháp đơn giản hơn là đây:

Trong tệp Excel của bạn, nhấn Alt+ F11, mở Microsoft Visual Basics cho Ứng dụng (VBA). Trong VBA chọn Insert > Modulevà dán đoạn mã sau

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

Trong công thức loại tệp Excel của bạn : =GetMyProp("Title"). Điều này sẽ hiển thị tiêu đề của tài liệu của bạn trong ô đã chọn.


1

Nếu bạn sử dụng excel trong tiếng Hà Lan, bạn nên sử dụng tên hàm tiếng Hà Lan và sử dụng dấu chấm phẩy thay vì dấu phẩy:

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.