Tìm số lớn nhì ? (1 người xem)

  • Thread starter Thread starter vumian
  • Ngày gửi Ngày gửi
Liên hệ QC

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

vumian

Mỗi bậc thang là mỗi Cell
Tham gia
12/3/07
Bài viết
267
Được thích
186
Nghề nghiệp
employee only, not a boss
Hi all,

Tự nhiên em nghĩ ra cái trò này, và cuối cùng bị vướng làm hông ra luôn,

Dùng 1 công thức filled down nha, Bác xem giúp em 1 tí nha,

Cám ơn nhiều,
 

File đính kèm

File đính kèm

Nếu dùng cột phụ thì đơn giản, ví dụ if(f6=max(e5:e13),0, e6) xong là tính max của cột phụ thì ra kết quả à?
 
Bài này hơi bị hay à nha!
Bạn thử công thức này xem:

Ctrl + Shift + Enter
Anhtuan ơi! Cột E là cột kết quả mà!

@Vumian: Công thức thì có công thức! Dài chút nha! Nhớ Ctrl+Shift+Enter nha
{=10000*($C4=LARGE(IF(($D$4:$D$13=$F$3),$C$4:$C$13,0),1))+5000*(C4=LARGE(IF(($D$4:$D$13=$F$3),$C$4:$C$13,0),SUM(($D$4:$D$13=$F$3)*($C$4:$C$13=LARGE(IF($D$4:$D$13=$F$3,$C$4:$C$13,0),1)))+1))}
Sau đó fill down xuống!
Xem thêm file đính kèm! Tham số Group có thể thay đổi được tại ô F3
 

File đính kèm

Lần chỉnh sửa cuối:
Thanks anhtuan nhiều, nhưng ý em là làm 1 công thức để mà filled down mà,

Anh xem lại giúp nha, em làm mấy ngày rùi mà hổng có ra gì hết :(

To npv : Không dùng dữ liệu phụ thì không còn cách sao ?

TO Ca_dafi :Nếu không xài F3 có được không ? (dù sao F3 vẫn là dữ liệu phụ :P)
 
Lần chỉnh sửa cuối:
TO Ca_dafi : F3 là cái chi rứa ?

Tại ô F3 ta có thể gõ chữ A, hoặc B, hoặc C (nghĩa là Group ID). Công thức sẽ lấy ô này làm điều kiện tham chiếu! Không thích dùng F3, thì thay trực tiếp F3 = "A" hoặc F3="B".... Không biết nói vậy được chưa.
 
Lần chỉnh sửa cuối:
Thanks anhtuan nhiều, nhưng ý em là làm 1 công thức để mà filled down mà,

Anh xem lại giúp nha, em làm mấy ngày rùi mà hổng có ra gì hết :(

To npv : Không dùng dữ liệu phụ thì không còn cách sao ?

TO Ca_dafi :Nếu không xài F3 có được không ? (dù sao F3 vẫn là dữ liệu phụ :P)
Chưa hiểu lắm! Bạn muốn fill vào đâu? Thử điền 1 vài dử liệu mà bạn mong muốn vào tôi xem thử (nhìn file bạn tôi đoán cột C, D, E là dử liệu nhập)
 
Chưa hiểu lắm! Bạn muốn fill vào đâu? Thử điền 1 vài dử liệu mà bạn mong muốn vào tôi xem thử (nhìn file bạn tôi đoán cột C, D, E là dử liệu nhập)

Anh anhtuan ơi! Cột C,D là dữ liệu nhập, Cột E là kết quả mong muốn đó anh!
 
To Anhtuan, tức là khởi đầu công thức là ở F3, sau đó kéo xuống tới F13 đó, như bác cada_fi nhà mình đã làm (đại khái là lấy đại 1 cột nào rùi kéo xuống)
 
Cột E không phải là cột nhập liệu, là cột kết quả em ví dụ, để anh dễ hình dung đó mà :)
 
Nếu cột E không phải là nhập liệu, vậy số 5000, 10000 ở đâu mà ra?
Dạ, yêu cầu của tác giả lả:

- Nếu giá trị bên cột C thỏa mãn điều kiện là số lớn nhất trong nhóm "A" thì tương ứng bên cột E sẽ nhận giá trị là 10000;

- Nếu giá trị bên cột C thỏa mãn điều kiện là số lớn nhì trong nhóm "A" thì tương ứng bên cột E sẽ nhận giá trị là 5000;

- Các trường hợp còn lại thì để trống!
 
Nếu không dùng cột phụ thì cách đơn giản hơn là sắp xếp dữ liệu theo nhóm rồi tính theo từng nhóm, vậy là ok?
 
Dạ, yêu cầu của tác giả lả:

- Nếu giá trị bên cột C thỏa mãn điều kiện là số lớn nhất trong nhóm "A" thì tương ứng bên cột E sẽ nhận giá trị là 10000;

- Nếu giá trị bên cột C thỏa mãn điều kiện là số lớn nhì trong nhóm "A" thì tương ứng bên cột E sẽ nhận giá trị là 5000;

- Các trường hợp còn lại thì để trống!
Giờ mới hiểu... Hi.. hi...
Vậy thì:
PHP:
E4 =IF(AND($D4=$F$3,$C4=MAX($C$4:$C$13)),10000,IF($C4=LARGE(($D$4:$D$13=$F$3)*($C$4:$C$13<>MAX($C$4:$C$13))*($C$4:$C$13),1),5000,""))
Ctrl + Shift + Enter
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Ngắn hơn 1 chút, dùng hàm SIGN
PHP:
=5000*IF($D4<>"A",0,SIGN($C4-LARGE(($D$4:$D$13="A")*($C$4:$C$13<>MAX($C$4:$C$13))*($C$4:$C$13),1))+1)
Cũng Ctrl +Shift +Enter
 
Chỉnh sửa lần cuối bởi điều hành viên:
Công thức này không đúng. Thử kiểm tra với Group B hoặc cho Max A không phải là Max Mark sẽ thấy chỗ sai.
Uh... đúng!
Hay ta làm 1 UDF đi cho nó gọn nhỉ!
Thêm nữa: Nhìn dử liệu sao thấy giống ngày công quá nhỉ? Ban vumian có thể nói rõ hơn 1 chút về ý nghĩa của dử liệu này không?
Nhìn vào tôi cứ đoán rằng: Nếu đủ 26 ngày công thì thưởng 10.000, nếu.... 5000
 
Anh Tuấn ơi, công thức này:
PHP:
 E4 =IF(AND($D4=$F$3,$C4=MAX($C$4:$C$13)),10000,IF($C4=LARGE(($D$4:$D$13=$F$3)*($C$4:$C$13<>MAX($C$4:$C$13))*($C$4:$C$13),1),5000,""))
Cũng chỉ đúng với nhóm A. Nếu làm cho nhóm B hay C thì nó sai.
 
Uh... đúng!
Hay ta làm 1 UDF đi cho nó gọn nhỉ!
Thêm nữa: Nhìn dử liệu sao thấy giống ngày công quá nhỉ? Ban vumian có thể nói rõ hơn 1 chút về ý nghĩa của dử liệu này không?
Nhìn vào tôi cứ đoán rằng: Nếu đủ 26 ngày công thì thưởng 10.000, nếu.... 5000

Không phải ngày công gì hết anh ơi, như từ #1 em có nói là bài tự phát thôi à :)
 
Thủ công thưc này, tôi nghĩ là chính xác đây (vẩn dựa trên cơ sở của hàm SIGN)
PHP:
=($D4=$F$3)*(SIGN($C4-MAX(($C$4:$C$13<MAX(($D$4:$D$13=$F$3)*($C$4:$C$13)))*(($D$4:$D$13=$F$3)*($C$4:$C$13))))+1)*5000
Nếu đặt 1 name
PHP:
DK =($D$4:$D$13=$F$3)*($C$4:$C$13)
thì công thức sẽ ngắn hơn:
PHP:
=($D4=$F$3)*(SIGN($C4-MAX(($C$4:$C$13<MAX(DK))*(DK)))+1)*5000
Tất cả đều là công thức mãng, đương nhiên phải Ctrl + Shift + Enter
 

File đính kèm

Web KT

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

Back
Top Bottom