Hàm không chạy qua mạng LAN (1 người xem)

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

changngoc

Thành viên chính thức
Tham gia
27/4/09
Bài viết
93
Được thích
0
Chào cả nhà,

Mình có 2 file (a.xlsx và b.xlsx) đặt tại 2 thư mục khác nhau trên Server của công ty.
tại sheet a của file a.xlsx, làm một công thức countif đến vùng dữ liệu của file b.xlsx. Cụ thể:

tại file a.xlsx, thực hiện hàm:
=COUNTIF('\\server\folder1\folder2\[b.xlsx]sheet1'!$C$1:$C$2000,E1)
=> Kết quả: #VALUE!

Nếu mở file b.xlsx lên (nghĩa là 2 file a.xlsx và b.xlsx cùng mở) thì kết quả ra đúng và công thức tự động thay đổi thành:
=COUNTIF('[b.xlsx]sheet1'!$C$1:$C$2000,E1).

Xin hỏi làm sao để file a.xlsx kết quả ra đúng mà không cần mở file b.xlsx lên.

Cảm ơn các anh chị.
 
Lần chỉnh sửa cuối:
Chào cả nhà,

Mình có 2 file (a.xlsx và b.xlsx) đặt tại 2 thư mục khác nhau trên Server của công ty.
tại sheet a của file a.xlsx, làm một công thức countif đến vùng dữ liệu của file b.xlsx. Cụ thể:

tại file a.xlsx, thực hiện hàm:
=COUNTIF('\\server\folder1\folder2\[b.xlsx]sheet1'!$C$1:$C$2000,E1)
=> Kết quả: #VALUE!

Nếu mở file b.xlsx lên (nghĩa là 2 file a.xlsx và b.xlsx cùng mở) thì kết quả ra đúng và công thức tự động thay đổi thành:
=COUNTIF('[b.xlsx]sheet1'!$C$1:$C$2000,E1).

Xin hỏi làm sao để file a.xlsx kết quả ra đúng mà không cần mở file b.xlsx lên.

Cảm ơn các anh chị.
Tôi không chắc bạn viết đường dẫn có đúng không nhưng 1 điều chắc chắn rằng cho dù đường dẫn ấy đúng thì hàm COUNTIF cũng không hoạt động được với tham chiếu là vùng dữ liệu trên 1 file đang đóng
Nói chung là:
- Hàm nào có đối số là VÙNG DỮ LIỆU (Range) thì không hoạt động được với file đang đóng (như SUMIF, COUNTIF....)
- Hàm nào có đối số là MẢNG (Array) thì hoạt động được với file đang đóng (như SUM, MATCH, COUNT...)
Vậy: Giả định rằng đường dẫn bạn viết chính xác thì ta có thể (không chắc lắm) thay COUNTIF bằng SUMPRODUCT
Ví dụ: =SUMPRODUCT(1*('\\server\folder1\folder2\[b.xlsx]sheet1'!$C$1:$C$2000=E1))
Thử xem
 
Lần chỉnh sửa cuối:
Cảm ơn anh.
Hàm Sumproduct chạy được anh ạ.
Còn hàm nào có thể thay thế vlookup không vì vlookup tuy chạy được với file dạng đóng nhưng không cập nhật được dữ liệu nguồn mới nhất mà phải ấn vào công thức > Enter > trỏ tới file nguồn mới cập nhất được ( gây bất tiện).
ví dụ: Vlookup(E1,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$1:$C$2000,2,0)


Thanks.
 
Lần chỉnh sửa cuối:
Cảm ơn anh.
Hàm Sumproduct chạy được anh ạ.
Còn hàm nào có thể thay thế vlookup không vì vlookup tuy chạy được với file dạng đóng nhưng không cập nhật được dữ liệu nguồn mới nhất mà phải ấn vào công thức > Enter > trỏ tới file nguồn mới cập nhất được ( gây bất tiện).
ví dụ: Vlookup(E1,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$1:$C$2000,2,0)


Thanks.
Bạn xem topic này http://www.giaiphapexcel.com/forum/showthread.php?73521-C%C3%B3-khi-n%C3%A0o-h%C3%A0m-Lookup-kh%C3%B4ng-th%E1%BB%83-thay-th%E1%BA%BF-%C4%91%C6%B0%E1%BB%A3c-Vlookup
 
Còn hàm nào có thể thay thế vlookup không vì vlookup tuy chạy được với file dạng đóng nhưng không cập nhật được dữ liệu nguồn mới nhất mà phải ấn vào công thức > Enter > trỏ tới file nguồn mới cập nhất được ( gây bất tiện).
ví dụ: Vlookup(E1,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$1:$C$2000,2,0)


Thanks.
Làm vì có vụ không cập nhật chứ. Có chăng là vì bạn đang để Calculation Options ở chế độ Manual nên mới vậy ---> Chuyển sang Automatic xem
 
Chào anh,

Do đường dẫn không hiểu sao tự động bị thay đổi (gán thêm vài ký tư) nên em phải click vào công thức > Enter > trỏ tới file nguồn thì kết quả mới cập nhật đúng. để giải quyết bài toán này, nhờ anh giúp em một đoạn code để thay thế công thức các công thức đó và kết quả tự động được cập nhật (realtime). Hiện trạng:

tại file a.xlsx > sheet 2 > tại các ô có công thức:
Ô AD1:
=IF(E1="","",if(SUMPRODUCT(1*('\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$C$2000))=0,"",IF(VLOOKUP(E1,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$T$2000,14,0)="","",VLOOKUP(E1,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$T$2000,14,0)))
Ô AD2:
=IF(E2="","",if(SUMPRODUCT(1*('\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$C$2000))=0,"",IF(VLOOKUP(E2,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$T$2000,14,0)="","",VLOOKUP(E2,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$T$2000,14,0)))

Ô AE1
=IF(E1="","",if(SUMPRODUCT(1*('\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$C$2000))=0,"",IF(VLOOKUP(E1,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$T$2000,15,0)="","",VLOOKUP(E1,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$T$2000,15,0)))
Ô AE2:
=IF(E2="","",if(SUMPRODUCT(1*('\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$C$2000))=0,"",IF(VLOOKUP(E2,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$T$2000,15,0)="","",VLOOKUP(E2,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$T$2000,15,0)))

Ô AH1:
=IF(E1="","",if(SUMPRODUCT(1*('\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$C$2000))=0,"",IF(VLOOKUP(E1,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$T$2000,20,0)="","",VLOOKUP(E1,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$T$2000,20,0)))
Ô AH2:
=IF(E2="","",if(SUMPRODUCT(1*('\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$C$2000))=0,"",IF(VLOOKUP(E2,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$T$2000,20,0)="","",VLOOKUP(E2,'\\server\folder1\folder2\[b.xlsx]sheet1'!$C$4:$T$2000,20,0)))

Chân thành cảm ơn.
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom