Page 1 of 1

เปรียบเทียบรายการแล้วนำลำดับที่มากที่สุดมาใชั

Posted: Mon Jan 24, 2022 2:44 pm
by Totem
:D เรียนอาจารย์และเพื่อนสมาชิกทุกท่าน

ต้องการให้เปรียบเทียบรายการแล้วนำลำดับที่มากที่สุดมาใชั อธิบายดังนี้

1.นำชื่อ นามสกุล รายการ ชื่อย่อ วันที่ จาก column A - E
ไปแสดงใน column K - O โดยพิจารณาว่า
ใน column G ลำดับได้เรียงตัวเลขจากน้อยไปมากไว้แล้ว
ถ้า column A ชื่อ นามสกุล และ รายการใน column C - D อยู่หลายรายการ
จากตัวอย่าง เช่น
ชื่อ
กก
รายการ และ ชื่อย่อ มี 3 รายการ
A.A.
C.C.
H.H.C.
ให้ไปเทียบกับ column H - I นำรายการที่มีลำดับมากที่สุดของแต่ละคนไปแสดงใน column K - O

ขอบคุณครับ


นำลำดับที่มากที่สุดมาใชั.xlsx

Re: เปรียบเทียบรายการแล้วนำลำดับที่มากที่สุดมาใชั

Posted: Mon Jan 24, 2022 5:05 pm
by totekung10
ผมลองเพิ่มสูตร ดึงลำดับ(คอลัมน์ F) แล้วนำลำดับมาหาค่าที่มากที่สุดของแต่ละชื่อ(คอลัมน์ G) และเช็คข้อมูลที่จะนำไปแสดง ในคอลัมน์ H เมื่อลำดับที่ดึงมา (คอลัมน์ F) และค่าที่มากที่สุดของแต่ละชื่อ(คอลัมน์ G) ตรงกัน และใช้ Index & Match ดึงข้อมูลไปแสดงในคอลัมน์ N - R ครับลองดูว่าตรงความต้องการหรือไม่ หรืออาจรออาจารย์และเพื่อนสมาชิกท่านอื่น อาจมีวิธีที่รวบรัดและเข้าใจง่ายกว่านี้ครับ

Re: เปรียบเทียบรายการแล้วนำลำดับที่มากที่สุดมาใชั

Posted: Mon Jan 24, 2022 6:07 pm
by Supachok
K2 \ copy to L
=INDEX(A$1:A$11,SMALL(IF(FREQUENCY(MATCH($A$1:$A$11,$A$1:$A$11,),ROW($A$1:$A$11))>1,ROW($A$1:$A$11),""),ROW(A1)))
{} array formula

M2\ copy to N
=OFFSET(C$1,MATCH(O2,$E$2:$E$11,0),,,)

O2
=OFFSET(E$1,MATCH(MAX(IF(MATCH($A$1:$A$11,$A$1:$A$11,)=SMALL(IF(FREQUENCY(MATCH($A$1:$A$11,$A$1:$A$11,),ROW($A$1:$A$11))>1,ROW($A$1:$A$11),""),ROW(A1)),1)*(IFERROR(MATCH($A$1:$A$11,$A$1:$A$11,)+$E$1:$E$11,0)))-SMALL(IF(FREQUENCY(MATCH($A$1:$A$11,$A$1:$A$11,),ROW($A$1:$A$11))>1,ROW($A$1:$A$11),""),ROW(A1)),$E$2:$E$11,0),,,)

Copy down
{} array formula

Re: เปรียบเทียบรายการแล้วนำลำดับที่มากที่สุดมาใชั

Posted: Tue Jan 25, 2022 10:28 am
by Totem
Supachok wrote: Mon Jan 24, 2022 6:07 pm K2 \ copy to L
=INDEX(A$1:A$11,SMALL(IF(FREQUENCY(MATCH($A$1:$A$11,$A$1:$A$11,),ROW($A$1:$A$11))>1,ROW($A$1:$A$11),""),ROW(A1)))
{} array formula

M2\ copy to N
=OFFSET(C$1,MATCH(O2,$E$2:$E$11,0),,,)

O2
=OFFSET(E$1,MATCH(MAX(IF(MATCH($A$1:$A$11,$A$1:$A$11,)=SMALL(IF(FREQUENCY(MATCH($A$1:$A$11,$A$1:$A$11,),ROW($A$1:$A$11))>1,ROW($A$1:$A$11),""),ROW(A1)),1)*(IFERROR(MATCH($A$1:$A$11,$A$1:$A$11,)+$E$1:$E$11,0)))-SMALL(IF(FREQUENCY(MATCH($A$1:$A$11,$A$1:$A$11,),ROW($A$1:$A$11))>1,ROW($A$1:$A$11),""),ROW(A1)),$E$2:$E$11,0),,,)

Copy down
{} array formula

:D ยังไม่ได้ตามต้องการ อธิบายเพิ่มเติม
ใน column A - E มีจำนวนไปแน่นอนอาจมากหรือน้อยกว่าตัวอย่างที่ยกมา เมื่อกำหนดตามสูตรที่ให้มาแล้วไม่แสดงรายการ
เมื่อมี column A - E แถวที่ 3 มีค่ามากที่สุด จากสูตรไม่เปลี่ยนไป column G ลำดับที่ 15 ซึ่งมากกว่า ลำดับที่ 4

ขอบคุณครับ

นำลำดับที่มากที่สุดมาใชั ใหม่.xlsx

Re: เปรียบเทียบรายการแล้วนำลำดับที่มากที่สุดมาใชั

Posted: Tue Jan 25, 2022 11:07 am
by norkaz
...

K2:Oxx

=IFERROR(LOOKUP(AGGREGATE(14,6,MATCH($A$2:$A$11&$C$2:$C$11,INDEX($A:$A,AGGREGATE(15,6,ROW($A$2:$A$11)/(MATCH($A$2:$A$11,$A$2:$A$11,0)=ROW($A$1:$A$11)),ROWS(K$2:K2)))&$H$2:$H$17,0),1),MATCH($A$2:$A$11&$C$2:$C$11,INDEX($A:$A,AGGREGATE(15,6,ROW($A$2:$A$11)/(MATCH($A$2:$A$11,$A$2:$A$11,0)=ROW($A$1:$A$11)),ROWS(K$2:K2)))&$H$2:$H$17,0),A$2:A$11),"")

Norkaz

Re: เปรียบเทียบรายการแล้วนำลำดับที่มากที่สุดมาใชั

Posted: Tue Jan 25, 2022 3:02 pm
by Supachok
Totem wrote: Tue Jan 25, 2022 10:28 am
Supachok wrote: Mon Jan 24, 2022 6:07 pm K2 \ copy to L
=INDEX(A$1:A$11,SMALL(IF(FREQUENCY(MATCH($A$1:$A$11,$A$1:$A$11,),ROW($A$1:$A$11))>1,ROW($A$1:$A$11),""),ROW(A1)))
{} array formula

M2\ copy to N
=OFFSET(C$1,MATCH(O2,$E$2:$E$11,0),,,)

O2
=OFFSET(E$1,MATCH(MAX(IF(MATCH($A$1:$A$11,$A$1:$A$11,)=SMALL(IF(FREQUENCY(MATCH($A$1:$A$11,$A$1:$A$11,),ROW($A$1:$A$11))>1,ROW($A$1:$A$11),""),ROW(A1)),1)*(IFERROR(MATCH($A$1:$A$11,$A$1:$A$11,)+$E$1:$E$11,0)))-SMALL(IF(FREQUENCY(MATCH($A$1:$A$11,$A$1:$A$11,),ROW($A$1:$A$11))>1,ROW($A$1:$A$11),""),ROW(A1)),$E$2:$E$11,0),,,)

Copy down
{} array formula

:D ยังไม่ได้ตามต้องการ อธิบายเพิ่มเติม
ใน column A - E มีจำนวนไปแน่นอนอาจมากหรือน้อยกว่าตัวอย่างที่ยกมา เมื่อกำหนดตามสูตรที่ให้มาแล้วไม่แสดงรายการ
เมื่อมี column A - E แถวที่ 3 มีค่ามากที่สุด จากสูตรไม่เปลี่ยนไป column G ลำดับที่ 15 ซึ่งมากกว่า ลำดับที่ 4

ขอบคุณครับ


นำลำดับที่มากที่สุดมาใชั ใหม่.xlsx
ขออภัยครับ ผมไปเข้าใจค่ามากนับตามวันที่แทน

Re: เปรียบเทียบรายการแล้วนำลำดับที่มากที่สุดมาใชั

Posted: Tue Jan 25, 2022 3:42 pm
by Totem
totekung10 wrote: Mon Jan 24, 2022 5:05 pm ผมลองเพิ่มสูตร ดึงลำดับ(คอลัมน์ F) แล้วนำลำดับมาหาค่าที่มากที่สุดของแต่ละชื่อ(คอลัมน์ G) และเช็คข้อมูลที่จะนำไปแสดง ในคอลัมน์ H เมื่อลำดับที่ดึงมา (คอลัมน์ F) และค่าที่มากที่สุดของแต่ละชื่อ(คอลัมน์ G) ตรงกัน และใช้ Index & Match ดึงข้อมูลไปแสดงในคอลัมน์ N - R ครับลองดูว่าตรงความต้องการหรือไม่ หรืออาจรออาจารย์และเพื่อนสมาชิกท่านอื่น อาจมีวิธีที่รวบรัดและเข้าใจง่ายกว่านี้ครับ
:D ขอบคุณครับ ได้ตามต้องการครับ

Re: เปรียบเทียบรายการแล้วนำลำดับที่มากที่สุดมาใชั

Posted: Tue Jan 25, 2022 3:42 pm
by Totem
Supachok wrote: Tue Jan 25, 2022 3:02 pm
Totem wrote: Tue Jan 25, 2022 10:28 am
Supachok wrote: Mon Jan 24, 2022 6:07 pm K2 \ copy to L
=INDEX(A$1:A$11,SMALL(IF(FREQUENCY(MATCH($A$1:$A$11,$A$1:$A$11,),ROW($A$1:$A$11))>1,ROW($A$1:$A$11),""),ROW(A1)))
{} array formula

M2\ copy to N
=OFFSET(C$1,MATCH(O2,$E$2:$E$11,0),,,)

O2
=OFFSET(E$1,MATCH(MAX(IF(MATCH($A$1:$A$11,$A$1:$A$11,)=SMALL(IF(FREQUENCY(MATCH($A$1:$A$11,$A$1:$A$11,),ROW($A$1:$A$11))>1,ROW($A$1:$A$11),""),ROW(A1)),1)*(IFERROR(MATCH($A$1:$A$11,$A$1:$A$11,)+$E$1:$E$11,0)))-SMALL(IF(FREQUENCY(MATCH($A$1:$A$11,$A$1:$A$11,),ROW($A$1:$A$11))>1,ROW($A$1:$A$11),""),ROW(A1)),$E$2:$E$11,0),,,)

Copy down
{} array formula

:D ยังไม่ได้ตามต้องการ อธิบายเพิ่มเติม
ใน column A - E มีจำนวนไปแน่นอนอาจมากหรือน้อยกว่าตัวอย่างที่ยกมา เมื่อกำหนดตามสูตรที่ให้มาแล้วไม่แสดงรายการ
เมื่อมี column A - E แถวที่ 3 มีค่ามากที่สุด จากสูตรไม่เปลี่ยนไป column G ลำดับที่ 15 ซึ่งมากกว่า ลำดับที่ 4

ขอบคุณครับ


นำลำดับที่มากที่สุดมาใชั ใหม่.xlsx
ขออภัยครับ ผมไปเข้าใจค่ามากนับตามวันที่แทน
:D ครับ ขอบคุณครับ ช่วยๆกันครับ

Re: เปรียบเทียบรายการแล้วนำลำดับที่มากที่สุดมาใชั

Posted: Tue Jan 25, 2022 3:43 pm
by Totem
norkaz wrote: Tue Jan 25, 2022 11:07 am ...

K2:Oxx

=IFERROR(LOOKUP(AGGREGATE(14,6,MATCH($A$2:$A$11&$C$2:$C$11,INDEX($A:$A,AGGREGATE(15,6,ROW($A$2:$A$11)/(MATCH($A$2:$A$11,$A$2:$A$11,0)=ROW($A$1:$A$11)),ROWS(K$2:K2)))&$H$2:$H$17,0),1),MATCH($A$2:$A$11&$C$2:$C$11,INDEX($A:$A,AGGREGATE(15,6,ROW($A$2:$A$11)/(MATCH($A$2:$A$11,$A$2:$A$11,0)=ROW($A$1:$A$11)),ROWS(K$2:K2)))&$H$2:$H$17,0),A$2:A$11),"")

Norkaz
:D ขอบคุณครับ ได้ตามต้องการครับ