Hỏi về hàm lấy tên file? (2 người xem)

  • Thread starter Thread starter l< i m
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

l< i m

Thành viên mới
Tham gia
29/10/12
Bài viết
20
Được thích
6
Xin hỏi dùng hàm nào để lấy mỗi tên file bỏ phần đuôi của tên file.
Em dùng hàm này nhưng lấy cả đuôi mà chưa biết cách nào để bỏ đuôi.

HTML:
=MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1)

Mong moi người giúp đỡ. Cám ơn!
 
Xin hỏi dùng hàm nào để lấy mỗi tên file bỏ phần đuôi của tên file.
Em dùng hàm này nhưng lấy cả đuôi mà chưa biết cách nào để bỏ đuôi.

Mã:
=MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))[COLOR=#ff0000]-1[/COLOR])

Mong moi người giúp đỡ. Cám ơn!

Thì cái chổ -1 màu đó ấy, nếu là file Excel 2007 (xlsx, xlsm...) thì thay bằng -6, nếu là file Excel 2003 (xls...) thì thay bằng -5
Thế thôi
 
Lần chỉnh sửa cuối:
Xin hỏi dùng hàm nào để lấy mỗi tên file bỏ phần đuôi của tên file.
Em dùng hàm này nhưng lấy cả đuôi mà chưa biết cách nào để bỏ đuôi.

HTML:
=MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1)

Mong moi người giúp đỡ. Cám ơn!
Nếu ngon thì đặt cái Cell("Filename") thành NAME trong excel thì trong công thức cho nó gọn gàng hơn và dễ kiểm soát hơn bạn ạ.
 
Nếu ngon thì đặt cái Cell("Filename") thành NAME trong excel thì trong công thức cho nó gọn gàng hơn và dễ kiểm soát hơn bạn ạ.

Cám ơn mọi người đã nhiệt tình giúp đỡ.
Bài của bạn Hoa em chưa hiểu lắm.Có thể cho xin file kèm được không ạ?
Em chưa biết là đặt Name thế nào cho hợp lý!
Tks!
 
Cám ơn mọi người đã nhiệt tình giúp đỡ.
Bài của bạn Hoa em chưa hiểu lắm.Có thể cho xin file kèm được không ạ?
Em chưa biết là đặt Name thế nào cho hợp lý!
Tks!
Mở 1 file excel, bấm Ctrl+F3 sau đó nhập tên name ví dụ đặt tên name là tenfile và hộp hội thoại NAME, mục Refers to nhập =Cell("filename") == > Bấm OK

Ra ngoài bảng tính excel gõ =tenfile và 1 ô bất kỳ trên sheet xem nó ra cái gì nhé!

Còn sau khi đặt name rồi thì trong công thức trên cứ chỗ nào có Cell("filename") thì thay bằng tenfile là xong.
Chú ý là file phải được save rồi nhé!
 
Mở 1 file excel, bấm Ctrl+F3 sau đó nhập tên name ví dụ đặt tên name là tenfile và hộp hội thoại NAME, mục Refers to nhập =Cell("filename") == > Bấm OK

Ra ngoài bảng tính excel gõ =tenfile và 1 ô bất kỳ trên sheet xem nó ra cái gì nhé!

Còn sau khi đặt name rồi thì trong công thức trên cứ chỗ nào có Cell("filename") thì thay bằng tenfile là xong.
Chú ý là file phải được save rồi nhé!
Anh thấy sao rắc rối quá vậy. Mở file lên là nhìn thấy tên file rồi mà...Trừ khi phải viết code để phục vụ nhu cầu khác.
 
Anh thấy sao rắc rối quá vậy. Mở file lên là nhìn thấy tên file rồi mà...Trừ khi phải viết code để phục vụ nhu cầu khác.
Ý em là trong công thức lấy tên file để phục vụ cho nhu cầu của bạn ấy có quá nhiều chỗ viết Cell("Filename") nên thay bằng name cho công thức gọn và dễ kiểm soát. Tại anh không có nhu cầu sử dụng nó nên thấy nó rắc rối, em lấy vị dụ thế này để anh hiểu nhé.

Em tạo 1 file tên là 00-HaiDuong_12, trong file em có 1 cell ghi thông tin "Văn Phòng"& HaiDuong. Giờ em muốn khi em copy và đổi tên file thành 00-PhoNoi_12 thì cell trong file đó cũng phải tự chuyển thành Văn Phòng PhoNoi thế nên mới cần cái công thức lấy tên file phía trên anh ạ!
 
Mở 1 file excel, bấm Ctrl+F3 sau đó nhập tên name ví dụ đặt tên name là tenfile và hộp hội thoại NAME, mục Refers to nhập =Cell("filename") == > Bấm OK

Ra ngoài bảng tính excel gõ =tenfile và 1 ô bất kỳ trên sheet xem nó ra cái gì nhé!

Còn sau khi đặt name rồi thì trong công thức trên cứ chỗ nào có Cell("filename") thì thay bằng tenfile là xong.
Chú ý là file phải được save rồi nhé!

Cảm ơn bạn nhé! Cái này thì mình biết, mình cứ tưởng là kiểu nào rắc rồi lắm nên mới hỏi để tham khảo.
Tks bạn nhiều!
 
Của bạn đây nhé!
=LEFT(MID(CELL("filename");FIND("[";CELL("filename"))+1;FIND("]";CELL("filename"))-FIND("[";CELL("filename"))-1);FIND(".";MID(CELL("filename");FIND("[";CELL("filename"))+1;FIND("]";CELL("filename"))-FIND("[";CELL("filename"))-1);LEN(MID(CELL("filename");FIND("[";CELL("filename"))+1;FIND("]";CELL("filename"))-FIND("[";CELL("filename"))-1))-5)-1)
 
Lần chỉnh sửa cuối:
Xin hỏi mọi người, tôi dùng hàm:

=MID(CELL("filename"),FIND("]",CELL("filename")) 1,LEN(CELL("filename"))-FIND("]",CELL("filename")))


để trích lọc dữ liệu từ tên của sheet. Tại ô trích lọc dữ liệu của các sheet dù đều dùng hàm giống nhau, nhưng các sheet có tên khác nhau, thế mà hàm không thể cập nhật (tính toán) ngay mỗi khi chuyển sheet.

Tôi phải làm gì để khắc phục hiện tượng này ?
 

File đính kèm

Lần chỉnh sửa cuối:
Xin hỏi mọi người, tôi dùng hàm:
=MID(CELL("filename"),FIND("]",CELL("filename"))+1,LEN(CELL("filename"))-FIND("]",CELL("filename")))
để trích lọc dữ liệu từ tên của sheet. Tại ô trích lọc dữ liệu của các sheet dù đều dùng hàm giống nhau, nhưng các sheet có tên khác nhau, thế mà hàm không thể cập nhật (tính toán) ngay mỗi khi chuyển sheet.
Tôi phải làm gì để khắc phục hiện tượng này ?
hoặc có thể dùng hàm:
Mã:
=RIGHT(CELL("filename");LEN(CELL("filename"))-FIND("]";CELL("filename");1))
2 hàm trên đều có "nhược điểm" ko cập nhật tức thời ---> phải dùng F9 để kích hoạt **~**,

'-------------
bạn thử thêm code sau vào module This Workbook:
Mã:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Range("B3").Calculate
End Sub
 
Ý em là trong công thức lấy tên file để phục vụ cho nhu cầu của bạn ấy có quá nhiều chỗ viết Cell("Filename") nên thay bằng name cho công thức gọn và dễ kiểm soát. Tại anh không có nhu cầu sử dụng nó nên thấy nó rắc rối, em lấy vị dụ thế này để anh hiểu nhé.

Em tạo 1 file tên là 00-HaiDuong_12, trong file em có 1 cell ghi thông tin "Văn Phòng"& HaiDuong. Giờ em muốn khi em copy và đổi tên file thành 00-PhoNoi_12 thì cell trong file đó cũng phải tự chuyển thành Văn Phòng PhoNoi thế nên mới cần cái công thức lấy tên file phía trên anh ạ!
Anh thấy sao rắc rối quá vậy. Mở file lên là nhìn thấy tên file rồi mà...Trừ khi phải viết code để phục vụ nhu cầu khác.
Chị H với a H rất hay có tranh luận...có j HOT
P/S: vui tí, ko liên quan đến topic
 
hoặc có thể dùng hàm:
Mã:
=RIGHT(CELL("filename");LEN(CELL("filename"))-FIND("]";CELL("filename");1))
2 hàm trên đều có "nhược điểm" ko cập nhật tức thời ---> phải dùng F9 để kích hoạt ,
Phần khá quan trọng từ đầu bài #1 đến cuối topic không thấy ai nói đến, đó là đối số thứ 2 trong hàm CELL. Nếu không có đối số này, thông tin tra cứu sẽ được lấy trên Sheet được tính toán cuối cùng. Vì vậy khi tính toán ở Sheet1, nhưng qua Sheet2 ta vẫn thấy CELL("filename") trên Sheet2 vẫn có kết quả của là đường dẫn của Sheet1. Vì vậy chỉ cần thêm đối số này vào trong hàm CELL là được, ví dụ thay CELL("filename") bằng CELL("filename",$A$1), khi tính toán tại mỗi sheet thì CELL("filename",$A$1) chỉ lấy thông tin trên Sheet chứa công thức đó. Dùng CELL("filename") khá nguy hiểm khi dùng nó tại mỗi sheet và tham chiếu đến sheet khác.
 
Xin hỏi mọi người, tôi dùng hàm:

=MID(CELL("filename"),FIND("]",CELL("filename"))+1,LEN(CELL("filename"))-FIND("]",CELL("filename")))


để trích lọc dữ liệu từ tên của sheet. Tại ô trích lọc dữ liệu của các sheet dù đều dùng hàm giống nhau, nhưng các sheet có tên khác nhau, thế mà hàm không thể cập nhật (tính toán) ngay mỗi khi chuyển sheet.

Tôi phải làm gì để khắc phục hiện tượng này ?

Lý do thì "ông Bum" đã nói rồi --=0, tôi chỉ hướng dẫn bạn cách sửa lỗi và rút gọn công thức
- Công thức cho tất cả các sheet:
Mã:
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)
 
hoặc có thể dùng hàm:
Mã:
=RIGHT(CELL("filename");LEN(CELL("filename"))-FIND("]";CELL("filename");1))
2 hàm trên đều có "nhược điểm" ko cập nhật tức thời ---> phải dùng F9 để kích hoạt **~**,

'-------------
bạn thử thêm code sau vào module This Workbook:
Mã:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Range("B3").Calculate
End Sub

Nếu cần phải dùng đến code VBA thì không cần phức tạp như vậy bạn ạ (Vừa hàm vừa code). Cảm ơn bạn
 
Lần chỉnh sửa cuối:
Phần khá quan trọng từ đầu bài #1 đến cuối topic không thấy ai nói đến, đó là đối số thứ 2 trong hàm CELL. Nếu không có đối số này, thông tin tra cứu sẽ được lấy trên Sheet được tính toán cuối cùng. Vì vậy khi tính toán ở Sheet1, nhưng qua Sheet2 ta vẫn thấy CELL("filename") trên Sheet2 vẫn có kết quả của là đường dẫn của Sheet1. Vì vậy chỉ cần thêm đối số này vào trong hàm CELL là được, ví dụ thay CELL("filename") bằng CELL("filename",$A$1), khi tính toán tại mỗi sheet thì CELL("filename",$A$1) chỉ lấy thông tin trên Sheet chứa công thức đó. Dùng CELL("filename") khá nguy hiểm khi dùng nó tại mỗi sheet và tham chiếu đến sheet khác.
Cảm ơn bác nhé, vấn đề này e nghĩ mấy ngày ko ra
 
Nếu cần phải dùng đến code VBA thì không cần phức tạp như vậy bạn ạ (Vừa hàm vừa code). Cảm ơn bạn
Mình dùng công thức này:
=RIGHT(CELL("filename");LEN(CELL("filename"))-FIND("]";CELL("filename");6))

để tách tên file nhưng khi mở file excel khác lên thì nó lại lấy tên file mới mở chứ không phải tên file có công thức là sao mọi người, giúp mình với, tks all
 
Mình dùng công thức này:
=RIGHT(CELL("filename");LEN(CELL("filename"))-FIND("]";CELL("filename");6))

để tách tên file nhưng khi mở file excel khác lên thì nó lại lấy tên file mới mở chứ không phải tên file có công thức là sao mọi người, giúp mình với, tks all
Bạn dùng hàm Cell đầy đủ nhé.
= CELL("type",A1)
Thêm A1 vào làm tham chiếu của hàm Cell.
 
Web KT

Bài viết mới nhất

Back
Top Bottom