Page 1 of 1

การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Tue Nov 03, 2020 5:31 pm
by Totem
:D เรียนอาจารย์และเพื่อนสมาชิกทุกท่านครับ

ต้องการ การแทนค่ารายการต่างๆ เป็นตัวเลข ขออธิบายดังนี้

ในคอลัมน์ A และ B เป็นการดึงข้อมูลออกมา
ในคอลัมน์ D และ E เป็นกำหนดรายการว่ารายการต่าง ๆ แทนค่าเป็นตัวเลขตามที่กำหนดไว้
ต้องการว่าในคอลัมน์ G ถึง P เป็นจำนวนคนทั้งหมด ให้แทนค่าเป็นตัวเลขที่กำหนดไว้ตามคอลัมน์ E
เช่น ในคอลัมน์ G คนที่ 1 มีข้อมูลที่อยู่ในคอลัมน์ A จำนวน 3 คน เป็นรายการ aa , dd , ff
ซึ่งตรงกับคอลัมน์ D ให้ใส่ค่าเป็นตัวเลข เป็น g2 = 1 , g3 = 4 , g4 = 5 เป็นต้น
หมายเหตุ ข้อมูลในคอลัมน์ A และ B ไม่ได้จัดเรียงอย่างเป็นระเบียบ คนจะสลับกันไป

ขอบคุณครับ


การแทนค่ารายการต่างๆ เป็นตัวเลข.xlsx

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Tue Nov 03, 2020 6:07 pm
by Bo_ry
G2
=IFERROR(VLOOKUP(INDEX($B$1:$B$20,AGGREGATE(15,6,ROW($A$2:$A$20)/($A$1&$A$2:$A$20=G$1),ROWS(G$2:G2))),$D$2:$E$11,2,),"")

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Thu Nov 05, 2020 6:05 pm
by Totem
:D ขอบคุณครับได้ตามต้องการ

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Thu Nov 05, 2020 6:10 pm
by Totem
:D มีกรณีที่มีเครื่องหมาย , คั่น ในรายการ

ต้องการ การแทนค่ารายการต่างๆ เป็นตัวเลข ดังนี้
ในคอลัมน์ A และ B เป็นการดึงข้อมูลออกมา ในคอลัมน์ B มี , คั่นระหว่างรายการแต่ละรายการ
ในคอลัมน์ D และ E เป็นกำหนดรายการว่ารายการต่าง ๆ แทนค่าเป็นตัวเลขตามที่กำหนดไว้
ต้องการว่าในคอลัมน์ G ถึง P เป็นจำนวนคนทั้งหมด ให้แทนค่าเป็นตัวเลขที่กำหนดไว้ตามคอลัมน์ E
เช่น ในคอลัมน์ G คนที่ 1 มีข้อมูลที่อยู่ในคอลัมน์ A จำนวน 1 คน เป็นรายการ aa, vv, ff, bbb
ซึ่งตรงกับคอลัมน์ D ให้ใส่ค่าเป็นตัวเลข เป็น g2 = 1 , g3 = 3 , g4 = 5 , g8 = 5 เป็นต้น
หมายเหตุ ข้อมูลในคอลัมน์ A และ B ไม่ได้จัดเรียงอย่างเป็นระเบียบ คนจะสลับกันไป และ
ในคอลัมน์ B , D ชื่อรายการเป็นการยกตัวอย่างอาจมีความหมายและข้อความยาวหรือสั้นกว่าตัวอย่าง ซึ่งเป็นไปตามที่เรากำหนดเอง

ขอบคุณครับ

การแทนค่ารายการต่างๆ เป็นตัวเลข.xlsx

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Thu Nov 05, 2020 7:28 pm
by Bo_ry
G2
=VLOOKUP(TRIM(MID(SUBSTITUTE(VLOOKUP(--MID(G$1,6,2),$A$2:$B$11,2,),",",REPT(" ",50)),ROWS(G$2:G2)*50-49,50)),$D$2:$E$11,2,)

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Mon Nov 09, 2020 5:17 pm
by Totem
:D ขอบคุณครับได้ตามต้องการครับ

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Mon Jan 25, 2021 5:28 pm
by Totem
Bo_ry wrote: Tue Nov 03, 2020 6:07 pm G2
=IFERROR(VLOOKUP(INDEX($B$1:$B$20,AGGREGATE(15,6,ROW($A$2:$A$20)/($A$1&$A$2:$A$20=G$1),ROWS(G$2:G2))),$D$2:$E$11,2,),"")
:D จากสูตรถ้าจะนำไปใช้กับ office เก่า จะปรับสูตรอย่างไรครับ ขอบคุณครับ

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Mon Jan 25, 2021 5:41 pm
by Bo_ry
เก่าแค่ไหน

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Mon Jan 25, 2021 5:45 pm
by Totem
:D ต่ำกว่า เวอร์ชัน 2010 ไม่มีสูตร AGGREGATE

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Mon Jan 25, 2021 6:11 pm
by Bo_ry
ต่ำกว่า เวอร์ชัน 2007 ไม่มีสูตร IFERROR

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Mon Jan 25, 2021 6:35 pm
by Totem
Bo_ry wrote: Mon Jan 25, 2021 6:11 pm ต่ำกว่า เวอร์ชัน 2007 ไม่มีสูตร IFERROR
:D ครับ เป็น เวอร์ชั่น 2007

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Mon Jan 25, 2021 6:45 pm
by Bo_ry
G2
=IFERROR(VLOOKUP(INDEX($B$1:$B$20,SMALL(IF($A$1&$A$2:$A$20=G$1,ROW($A$2:$A$20)),ROWS(G$2:G2))),$D$2:$E$11,2,),"")

Ctrl+Shift+Enter

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Mon Jan 25, 2021 6:58 pm
by snasui
Totem wrote: Mon Jan 25, 2021 6:35 pm
Bo_ry wrote: Mon Jan 25, 2021 6:11 pm ต่ำกว่า เวอร์ชัน 2007 ไม่มีสูตร IFERROR
:D ครับ เป็น เวอร์ชั่น 2007
:D กรุณา Update Profile โดยระบุ Version ของ Excel ตาม Link นี้ด้วยครับ https://snasui.com/viewtopic.php?f=6&p=103177#p103177

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Tue Jan 26, 2021 2:17 pm
by linzhengli
ถ้าเป็น 2003 สูตรเช่นไรครับ

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Tue Jan 26, 2021 5:34 pm
by Bo_ry
G2
=IF(ROWS(G$2:G2)>COUNTIFS($A$2:$A$20,MID(G$1,6,2)),"",VLOOKUP(INDEX($B$1:$B$20,SMALL(IF($A$1&$A$2:$A$20=G$1,ROW($A$2:$A$20)),ROWS(G$2:G2))),$D$2:$E$11,2,))

Ctrl+Shift+Enter

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Wed Jan 27, 2021 8:32 am
by snasui
linzhengli wrote: Tue Jan 26, 2021 2:17 pm ถ้าเป็น 2003 สูตรเช่นไรครับ
Bo_ry wrote: Tue Jan 26, 2021 5:34 pm G2
=IF(ROWS(G$2:G2)>COUNTIFS($A$2:$A$20,MID(G$1,6,2)),"",VLOOKUP(INDEX($B$1:$B$20,SMALL(IF($A$1&$A$2:$A$20=G$1,ROW($A$2:$A$20)),ROWS(G$2:G2))),$D$2:$E$11,2,))

Ctrl+Shift+Enter
:D คุณ Bo_ry ลืมลบ S ที่ Countifs ทิ้งไปครับ

กรณีใช้กับ 2003 เปลี่ยน Countifs เป็น Countif อีกตำแหน่งครับ

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Wed Jan 27, 2021 2:13 pm
by linzhengli
ขอบคุณครับ

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Fri Jan 29, 2021 4:04 pm
by Totem
Bo_ry wrote: Mon Jan 25, 2021 6:45 pm G2
=IFERROR(VLOOKUP(INDEX($B$1:$B$20,SMALL(IF($A$1&$A$2:$A$20=G$1,ROW($A$2:$A$20)),ROWS(G$2:G2))),$D$2:$E$11,2,),"")

Ctrl+Shift+Enter
:D ขอบคุณครับ ได้ตามต้องการ

Re: การแทนค่ารายการต่างๆ เป็นตัวเลข

Posted: Fri Jan 29, 2021 4:05 pm
by Totem
snasui wrote: Mon Jan 25, 2021 6:58 pm
Totem wrote: Mon Jan 25, 2021 6:35 pm
Bo_ry wrote: Mon Jan 25, 2021 6:11 pm ต่ำกว่า เวอร์ชัน 2007 ไม่มีสูตร IFERROR
:D ครับ เป็น เวอร์ชั่น 2007
:D กรุณา Update Profile โดยระบุ Version ของ Excel ตาม Link นี้ด้วยครับ https://snasui.com/viewtopic.php?f=6&p=103177#p103177
:D Update Profile เรียบร้อยครับ