Lấy địa chỉ giá trị lớn thứ 2 trong dòng (1 người xem)

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

kagomeyasha

Thành viên mới
Tham gia
3/9/13
Bài viết
8
Được thích
0
mình có một bảng tính. sử dụng tham chiếu với các hàm Match(), Index(), Max(), Large(), Cell() để lấy giá trị của cột có giá trị lớn nhất và lớn thứ 2. Nhưng khi trên cùng một dòng thì hai giá trị trùng nhau excel chỉ lấy giá trị đầu tiên mà bỏ qua giá trị thứ hai bằng nó. có cách nào để lấy vị trí của hai giá trị giống nhau không? Ai đó biết trả lời giúp mình với :((((


1477640_239841436180089_1770285127_n.jpg



1479510_239841442846755_1410712115_n.jpg
 
mình có một bảng tính. sử dụng tham chiếu với các hàm Match(), Index(), Max(), Large(), Cell() để lấy giá trị của cột có giá trị lớn nhất và lớn thứ 2. Nhưng khi trên cùng một dòng thì hai giá trị trùng nhau excel chỉ lấy giá trị đầu tiên mà bỏ qua giá trị thứ hai bằng nó. có cách nào để lấy vị trí của hai giá trị giống nhau không? Ai đó biết trả lời giúp mình với :((((


Mã:
=ADDRESS(1,MATCH(LARGE(A2:D2,[COLOR=#ff0000]2[/COLOR]),A2:D2,0)+ (MAX(A2:D2)=LARGE(A2:D2,2)))

Mã:
F2=INDIRECT(E2)

muốn tìm giá trị đứng thứ 1 thì đổi số 2 màu đỏ thành số 1
==================
vẫn ko đúng,,,,,,hkó hỉ????
 
Lần chỉnh sửa cuối:
mình có một bảng tính. sử dụng tham chiếu với các hàm Match(), Index(), Max(), Large(), Cell() để lấy giá trị của cột có giá trị lớn nhất và lớn thứ 2. Nhưng khi trên cùng một dòng thì hai giá trị trùng nhau excel chỉ lấy giá trị đầu tiên mà bỏ qua giá trị thứ hai bằng nó. có cách nào để lấy vị trí của hai giá trị giống nhau không? Ai đó biết trả lời giúp mình với :((((
Nếu 3 hoặc là cả 4 giá trị đều bằng nhau thì bạn lấy 2 giá trị nào?
Nếu Chỉ có 2 giá trị thì thay MATCH tuyệt đối (0) thành tương đối (1): INDEX($A$1:$D$1,,MATCH(LARGE(A5:D5,2),A5:D5,1))
 
Theo mình hiểu thì excel làm việc, xét theo vùng chọn nó duyệt từ trên xuống dưới từ trái qua phải, việc có nhiều giá trị trùng nhau mình cũng đang muốn xử lý. mình không biết có hàm nào để xử lý không nữa. giờ viết macro mình rất ngại vì chưa viết bao giờ, sẽ lại phải học VBA nữa. :(
 
với ít cột so sánh như trên hình thì dùng cách của bạn được nhưng nhiều cột hơn sẽ bị lỗi kết quả chỉ trả về cột cuối trong vùng xét thôi
 
mình có một bảng tính. sử dụng tham chiếu với các hàm Match(), Index(), Max(), Large(), Cell() để lấy giá trị của cột có giá trị lớn nhất và lớn thứ 2. Nhưng khi trên cùng một dòng thì hai giá trị trùng nhau excel chỉ lấy giá trị đầu tiên mà bỏ qua giá trị thứ hai bằng nó. có cách nào để lấy vị trí của hai giá trị giống nhau không? Ai đó biết trả lời giúp mình với :((((


Bạn thử dùng công thức sau
Mã:
F5=ADDRESS(1,MATCH(LARGE(A5:D5,2),(COLUMN(A5:D5)<>COLUMN(INDIRECT(H5)))*A5:D5,0))
Nhấn Ctrl+Shift+Enter
 
Lần chỉnh sửa cuối:
Cảm ơn bạn, nhưng mình thử kết quả là thông báo #N/A, không được :(
 
có lẽ excel mình bị làm sao rồi. save bản của bạn, mở ra ô F5 có địa chỉ đúng nhưng khi click vào ô đó lại hiện ra công thức như này
code:
{=ADDRESS(1,MATCH(MAX((COLUMN(A5:D5)<>COLUMN(INDIRECT(H5)))*A5:D5),(COLUMN(A5:D5)<>COLUMN(INDIRECT(H5)))*A5:D5,0))}

khi click vào công thức sửa nó mất cặp dấu {}, sau đó mình enter thì xuất hiện lỗi #VALUE! :(
 
có lẽ excel mình bị làm sao rồi. save bản của bạn, mở ra ô F5 có địa chỉ đúng nhưng khi click vào ô đó lại hiện ra công thức như này
code:
{=ADDRESS(1,MATCH(MAX((COLUMN(A5:D5)<>COLUMN(INDIRECT(H5)))*A5:D5),(COLUMN(A5:D5)<>COLUMN(INDIRECT(H5)))*A5:D5,0))}

khi click vào công thức sửa nó mất cặp dấu {}, sau đó mình enter thì xuất hiện lỗi #VALUE! :(

cthứ mảng mà
nhấp vào cell đó, nhấ phím F2 (hoặc double click) rồi nhấn tổ hợp 3 phím cùng lúc Ctrl Shift Enter
trong tất cả các bài #6 có lưu ý bạn hết đó mà!!!
chúc thành công
 
Lần chỉnh sửa cuối:
cthứ mảng mà
nhấp vào cell đó, nhấ phím F2 (hoặc double click) rồi nhấn tổ hợp 3 phím cùng lúc Ctrl Shift Enter
trong tất cả các bài #6 có lưu ý bạn hết đó mà!!!
chúc thành công

Cảm ơn bạn! tại mình trước giờ chỉ thực hiện các hàm cơ bản chưa làm mảng trên excel bao giờ. Theo lời bạn mình làm dc rồi, để mình tìm hiểu thêm. Bạn cho mình link bài #6 bạn nói được không? mình tìm mãi không biết ở đâu :)
 
vậy khi lấy địa chỉ trên mảng như vậy, nhưng lấy giá trị như trong hình thứ hai thì làm thế nào hả bạn? mình dùng hàm:

=INDEX(A1:D1,1,column(ADDRESS(1,MATCH(MAX((COLUMN(A5:D5)<>COLUMN(INDIRECT(H5)))*A5:D5),(COLUMN(A5:D5)<>COLUMN(INDIRECT(H5)))*A5:D5,0))))

nhưng không được.
 
vậy khi lấy địa chỉ trên mảng như vậy, nhưng lấy giá trị như trong hình thứ hai thì làm thế nào hả bạn? mình dùng hàm:

=INDEX(A1:D1,1,column(ADDRESS(1,MATCH(MAX((COLUMN(A5:D5)<>COLUMN(INDIRECT(H5)))*A5:D5),(COLUMN(A5:D5)<>COLUMN(INDIRECT(H5)))*A5:D5,0))))

nhưng không được.

bài #6 là bài số 6 trong topic này,trên gốc phải của mỗi bài viết đều có số

còn cthức bạn hỏi ở trên, thì cái này bạn chỉ việc dùng hàm indirect là được rồi
như trong bài số 2 tôi giải đó
 
cảm ơn bạn nhiều! nhưng khi thao tác trên mảng như này thì sẽ không copy kéo công thức được đúng không? khi mà bảng tính có hàng nghìn dòng thì phải làm sao đây? bạn có cách làm nào nữa không?
 
cảm ơn bạn nhiều! nhưng khi thao tác trên mảng như này thì sẽ không copy kéo công thức được đúng không? khi mà bảng tính có hàng nghìn dòng thì phải làm sao đây? bạn có cách làm nào nữa không?

nó bình thường như mọi cthức, bạn có thể kéo sang phải trái lên xuống tùy thích,,,
nhưng cũng như các cthức klhác bạn phải lưu ý các giá trị tuyện đối $A$1 hoặc tượng đối $A1 hay A$1
chúc thành công

=========
tuy nhiên nếu data của bạn quá lớn, bạn sẻ gặp vấn đề tốc độ tính toán
nếu ko hài lòng về tốc độ tính toán thì tìm phương án khác, như vba
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom