Lỗi #VALUE! khi sử dụng name với hàm RANK

Liên hệ QC

DOSNET

Thành viên gắn bó
Thành viên danh dự
Tham gia
3/8/07
Bài viết
1,633
Được thích
2,370
Nghề nghiệp
E&A
Nhờ các bạn giải thích giùm lỗi #VALUE khi sử dụng hàm RANK(Number,Ref,[Oder])
Tôi có vùng dữ liệu A1:A5 và đặt 2 name như sau:
VUNG1=A1:A5={1,2,3,4,5}

VUNG2=IF(VUNG1>2,VUNG1,"")={"","",3,4,5}
Khi sử dụng hàm RANK với Ref=VUNG1 thì OK, nhưng với Ref=VUNG2 thì báo lỗi #VALUE!

Rõ ràng theo hướng dẫn của Ms. thì Ref có thể là một mảng dữ liệu, có thể là một tham chiếu, một dãy số và bỏ qua ký tự không phải dạng số. Đã test thử name VUNG2 làm việc tốt với hàm MIN, MAX...Vậy name tôi đặt có gì sai, nhờ các bạn tìm giúp, Thanks all!
 

File đính kèm

  • Loi ham RANK.xls
    47.5 KB · Đọc: 26
Name VUNG2=IF(VUNG1>2,VUNG1,"")
Mình nghĩ không ổ vì VUNG1 là Range mà bạn so sánh với Number nên nó không hiểu rồi

TDN
 
Lần chỉnh sửa cuối:
Name VUNG2=IF(VUNG1>2,VUNG1,"")
Mình nghĩ không ổ vì VUNG1 là Range mà bạn so sánh với Number nên nó không hiểu rồi

Vẫn ổn và name này làm việc tốt với hàm MAX, MIN mà bác!
 
Vẫn ổn và name này làm việc tốt với hàm MAX, MIN mà bác!
Thật ra nó không có ổn chút nào đâu bác à. Bác làm ví dụ thế này nhé :
Đặt công thức cho Name VUNG2 như sau
=IF(VUNG1>2,5,10) -> nó lấy 5
=IF(VUNG1>2,10,5)
-> nó cũng lấy 5
Bác sẽ thấy ngay kết quả không ổn định. Nhưng nếu đặt công thức :
=IF(CountA(VUNG1)>2,10,5)

thì kết quả sẽ khác ngay

TDN
 
Lần chỉnh sửa cuối:
Vẫn ổn và name này làm việc tốt với hàm MAX, MIN mà bác!
Đơn giản vì khi bạn đặt name thế thì KQ thu được không phải là 1 Range mà là 1 Array!
Có nhiều hàm không làm việc được với Array, bạn có thể kiểm chứng
Vậy, thay vì cố gắng với hàm này bạn hãy chuyển sang hướng khác thì hay hơn
 
Đơn giản vì khi bạn đặt name thế thì KQ thu được không phải là 1 Range mà là 1 Array!
Có nhiều hàm không làm việc được với Array, bạn có thể kiểm chứng
Vậy, thay vì cố gắng với hàm này bạn hãy chuyển sang hướng khác thì hay hơn
Em nghĩ mãi chưa ra cách tạo tạo ra Range (thoả mãn điều kiện nào đó do người dùng đặt ra) từ một Range khác để dùng với hàm Rank.
 
Em nghĩ mãi chưa ra cách tạo tạo ra Range (thoả mãn điều kiện nào đó do người dùng đặt ra) từ một Range khác để dùng với hàm Rank.
Name đặt thế là đúng rồi ---> Vấn đề nằm ở chổ không phải hàm nào cũng chấp nhận tham chiếu dạng Array này!
Vậy DOSNET cho hỏi: Bạn muốn dùng name này vào việc gì? Có thể nêu lên cả bài toán không? (biết đâu có hướng khác)
 
Name đặt thế là đúng rồi ---> Vấn đề nằm ở chổ không phải hàm nào cũng chấp nhận tham chiếu dạng Array này!
Vậy DOSNET cho hỏi: Bạn muốn dùng name này vào việc gì? Có thể nêu lên cả bài toán không? (biết đâu có hướng khác)
E gửi kèm file bác xem hộ, từ bài toán này có thể ứng dụng được nhiều bài khác phức tạp hơn.
 

File đính kèm

  • Tim RANK.xls
    15 KB · Đọc: 15
E gửi kèm file bác xem hộ, từ bài toán này có thể ứng dụng được nhiều bài khác phức tạp hơn.
Thử sơ bộ thế này nhé:
1> Đặt name:
PHP:
Ref =IF($A$3:$A$17=$E$8,$B$3:$B$17,"")
PHP:
VT =SMALL(Ref,ROW(INDIRECT("1:"&COUNT(Ref))))
2> Công thức:
PHP:
=MIN(IF(VT>$F$4,VT,""))
Ctrl + Shift + Enter
Test thử nha!
--------------
Ah... DOSNET xem lại, dử liệu cột A đang có khoảng trắng đấy nhé ---> Dùng TRIM remove khoảng trắng trước rồi hãy áp dụng công thức
(đưa file lên luôn cho chắc ăn)
 

File đính kèm

  • Tim RANK.xls
    14.5 KB · Đọc: 16
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom