Page 1 of 1
ใช้ vlookup formula with other possible formula
Posted: Sat Aug 25, 2018 9:18 pm
by baej
รบกวนอาจารย์ ช่วยหา
list all complaint types raised by the customer C4 by using Vlookup formula with other possible formula ค่ะ
ได้แนบไฟล์มาด้วยค่ะ ขอบพระคุณอย่างสูง
Re: ใช้ vlookup formula with other possible formula
Posted: Sat Aug 25, 2018 10:11 pm
by snasui

ต้องการหาอะไรและต้องการคำตอบเป็นอย่างไร ช่วยกรอกตัวอย่างคำตอบที่ถูกต้องลงมาใน Answer Sheet ด้วยจะได้สะดวกในการทำความเข้าใจครับ
Re: ใช้ vlookup formula with other possible formula
Posted: Sun Aug 26, 2018 7:19 pm
by baej
ต้องการดึงข้อมูล complaint ใน column F ที่เป็นของลูกค้า ชื่อ C4 ในcolumn D
โดยข้อมูลที่ได้ต้องไม่ซ้ำค่ะ แต่ข้อบังคับคือให้ใช้ Vlookup formula ร่วมกับformula อื่นได้ค่ะ
ลองทำใน answer sheet แล้ว แต่ข้อมูลที่ได้ มันซ้ำกันค่ะ รบกวนด้วยค่ะ
Re: ใช้ vlookup formula with other possible formula
Posted: Sun Aug 26, 2018 7:38 pm
by snasui

สรุปคือให้เขียน Function Vlookup ขึ้นมาเองด้วย VBA หรือไรครับ

ถ้าใช่ แนบไฟล์นามสกุล .xlsm ที่เขียนฟังก์ชั่นมาเองแล้วจะได้ช่วยดูต่อไปจากนั้นครับ
ถ้าไม่ใช่ โจทย์นี้ไม่ใช่ความสามารถของ Vlookup ที่จะ Lookup ข้อมูลพร้อมกันได้หลายเซลล์ การ Lookup พร้อมกันหลายเซลล์ปกติจะใช้ฟังก์ชั่นอื่น เช่น Index, Small, Match, Frequency เป็นต้น
Re: ใช้ vlookup formula with other possible formula
Posted: Sun Aug 26, 2018 9:32 pm
by Bo_ry
ถ้าจะต้องVlookupคงต้องแบบนี้
R2
=VLOOKUP($Q$2,OFFSET($D$1:$F$1,AGGREGATE(15,6,(ROW($F$2:$F$720)-ROW($F$1))/($D$2:$D$720=$Q$2),ROWS($R$2:R2)),,),3,0)
ไม่เอา error
=IF(ROWS($R$2:R2)>COUNTIF($D$2:$D$720,$Q$2),"",VLOOKUP($Q$2,OFFSET($D$1:$F$1,AGGREGATE(15,6,(ROW($F$2:$F$720)-ROW($F$1))/($D$2:$D$720=$Q$2),ROWS($R$2:R2)),,),3,0))
Re: ใช้ vlookup formula with other possible formula
Posted: Mon Aug 27, 2018 10:11 pm
by snasui
Bo_ry wrote: Sun Aug 26, 2018 9:32 pm
ถ้าจะต้องVlookupคงต้องแบบนี้
R2
=VLOOKUP($Q$2,OFFSET($D$1:$F$1,AGGREGATE(15,6,(ROW($F$2:$F$720)-ROW($F$1))/($D$2:$D$720=$Q$2),ROWS($R$2:R2)),,),3,0)
ไม่เอา error
=IF(ROWS($R$2:R2)>COUNTIF($D$2:$D$720,$Q$2),"",VLOOKUP($Q$2,OFFSET($D$1:$F$1,AGGREGATE(15,6,(ROW($F$2:$F$720)-ROW($F$1))/($D$2:$D$720=$Q$2),ROWS($R$2:R2)),,),3,0))

เหลือทำเป็นค่าที่ไม่ซ้ำครับ
baej wrote: Sun Aug 26, 2018 7:19 pm
ต้องการดึงข้อมูล complaint ใน column F ที่เป็นของลูกค้า ชื่อ C4 ในcolumn D
โดยข้อมูลที่ได้ต้องไม่ซ้ำค่ะ...
Re: ใช้ vlookup formula with other possible formula
Posted: Mon Aug 27, 2018 10:56 pm
by Bo_ry
snasui wrote: Mon Aug 27, 2018 10:11 pm

เหลือทำเป็นค่าที่ไม่ซ้ำครับ
baej wrote: Sun Aug 26, 2018 7:19 pm
ต้องการดึงข้อมูล complaint ใน column F ที่เป็นของลูกค้า ชื่อ C4 ในcolumn D
โดยข้อมูลที่ได้ต้องไม่ซ้ำค่ะ...
R2 เหมือนเดิม
=IF(ROWS($R$2:R2)>COUNTIF($D$2:$D$720,$Q$2),"",VLOOKUP($Q$2,OFFSET($D$1:$F$1,AGGREGATE(15,6,(ROW($F$2:$F$720)-ROW($F$1))/($D$2:$D$720=$Q$2),ROWS($R$2:R2)),,),3,0))
ขอใช้อีกคอลัมน์ S2 แต่ยังใช้ VLookup อยู่นะ =IFERROR(VLOOKUP("zz",OFFSET($R$1,AGGREGATE(15,6,ROW(INDIRECT("1:"&COUNTIF($D$1:$D$720,$Q$2)))/(FREQUENCY(MATCH($R$2:$R$26,$R$2:$R$26,0),ROW(INDIRECT("1:"&COUNTIF($D$1:$D$720,$Q$2))))>0),ROWS($S$2:S2)),),1),"")
เนื่องจากจะเอา
[A] =OFFSET($F$1,AGGREGATE(15,6,(ROW($F$2:$F$720)-ROW($F$1))/($D$2:$D$720=$Q$2),ROW(INDIRECT("1:"&COUNTIF($D$1:$D$720,$Q$2)))),,)
ไปใส่ใน Match([A],[A],0) แล้วมาแค่ค่าเดียว เอาไปใส่
FREQUENCY(Match([A],[A],0),ROW(INDIRECT("1:"&COUNTIF($D$1:$D$720,$Q$2)))) ก็กลายเป็น #VALUE!
เลยต้องใช้คอลัมน์ช่วย
ใช้คอลัมน์เดียวต้องถึงมืออาจารย์แล้วละ
Re: ใช้ vlookup formula with other possible formula
Posted: Mon Aug 27, 2018 11:25 pm
by Bo_ry
ได้แล้ว R2 กด Ctrl+Shift+enter ด้วย
=IFERROR(VLOOKUP("zz",INDEX(INDEX($F$1:$F$720,N(IF(1,AGGREGATE(15,6,ROW($F$1:$F$720)/($D$1:$D$720=$Q$2),ROW(INDIRECT("1:"&COUNTIF($D$1:$D$720,$Q$2))))))),AGGREGATE(15,6,ROW(INDIRECT("1:"&COUNTIF($D$1:$D$720,$Q$2)+1))/(FREQUENCY(MATCH(INDEX($F$1:$F$720,N(IF(1,AGGREGATE(15,6,ROW($F$1:$F$720)/($D$1:$D$720=$Q$2),ROW(INDIRECT("1:"&COUNTIF($D$1:$D$720,$Q$2))))))),INDEX($F$1:$F$720,N(IF(1,AGGREGATE(15,6,ROW($F$1:$F$720)/($D$1:$D$720=$Q$2),ROW(INDIRECT("1:"&COUNTIF($D$1:$D$720,$Q$2))))))),0),ROW(INDIRECT("1:"&COUNTIF($D$1:$D$720,$Q$2))))>0),ROWS($R$2:R2))),1),"")
Re: ใช้ vlookup formula with other possible formula
Posted: Mon Aug 27, 2018 11:31 pm
by snasui

อีกตัวอย่างสูตรแบบไม่ใช้เซลล์ช่วยครับ
R2 คีย์
=IFERROR(VLOOKUP(SMALL(IF(FREQUENCY(IF($D$2:$D$720=$Q$2,MATCH($F$2:$F$720,$F$2:$F$720,0)),ROW($E$2:$E$720)-ROW($E$2)+1),ROW($E$2:$E$720)-ROW($E$2)+1),ROWS(R$2:R2)),CHOOSE({1,2},SMALL(IF(FREQUENCY(IF($D$2:$D$720=$Q$2,MATCH($F$2:$F$720,$F$2:$F$720,0)),ROW($E$2:$E$720)-ROW($E$2)+1),ROW($E$2:$E$720)-ROW($E$2)+1),ROWS(R$2:R2)),INDEX($F$2:$F$720,SMALL(IF(FREQUENCY(IF($D$2:$D$720=$Q$2,MATCH($F$2:$F$720,$F$2:$F$720,0)),ROW($E$2:$E$720)-ROW($E$2)+1),ROW($E$2:$E$720)-ROW($E$2)+1),ROWS(R$2:R2)))),2,0),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Re: ใช้ vlookup formula with other possible formula
Posted: Mon Aug 27, 2018 11:48 pm
by Bo_ry
snasui wrote: Mon Aug 27, 2018 11:31 pm

อีกตัวอย่างสูตรแบบไม่ใช้เซลล์ช่วยครับ
R2 คีย์
=IFERROR(VLOOKUP(SMALL(IF(FREQUENCY(IF($D$2:$D$720=$Q$2,MATCH($F$2:$F$720,$F$2:$F$720,0)),ROW($E$2:$E$720)-ROW($E$2)+1),ROW($E$2:$E$720)-ROW($E$2)+1),ROWS(R$2:R2)),CHOOSE({1,2},SMALL(IF(FREQUENCY(IF($D$2:$D$720=$Q$2,MATCH($F$2:$F$720,$F$2:$F$720,0)),ROW($E$2:$E$720)-ROW($E$2)+1),ROW($E$2:$E$720)-ROW($E$2)+1),ROWS(R$2:R2)),INDEX($F$2:$F$720,SMALL(IF(FREQUENCY(IF($D$2:$D$720=$Q$2,MATCH($F$2:$F$720,$F$2:$F$720,0)),ROW($E$2:$E$720)-ROW($E$2)+1),ROW($E$2:$E$720)-ROW($E$2)+1),ROWS(R$2:R2)))),2,0),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง

Frequency ใช้แบบนี้ได้ด้วย ได้ความรู้เพิ่มอีกแล้ว ขอบคุณค่ะอาจารย์
FREQUENCY(IF($D$2:$D$720=$Q$2,MATCH($F$2:$F$720,$F$2:$F$720,0)),ROW($E$2:$E$720)-ROW($E$2)+1)
Re: ใช้ vlookup formula with other possible formula
Posted: Tue Aug 28, 2018 6:04 am
by snasui
Bo_ry wrote: Mon Aug 27, 2018 11:48 pm
Frequency ใช้แบบนี้ได้ด้วย ได้ความรู้เพิ่มอีกแล้ว ขอบคุณค่ะอาจารย์
FREQUENCY(IF($D$2:$D$720=$Q$2,MATCH($F$2:$F$720,$F$2:$F$720,0)),ROW($E$2:$E$720)-ROW($E$2)+1)

ยินดีครับ
อีกตัวอย่างของการให้ Vlookup มีส่วนร่วมครับ
R2 คีย์
=IFERROR(VLOOKUP(CHAR(255),INDEX($F$2:$F$720,SMALL(IF(FREQUENCY(IF($D$2:$D$720=$Q$2,MATCH($F$2:$F$720,$F$2:$F$720,0)),ROW($E$2:$E$720)-ROW($E$2)+1),ROW($E$2:$E$720)-ROW($E$2)+1),ROWS(R$2:R2))),1,1),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Re: ใช้ vlookup formula with other possible formula
Posted: Tue Aug 28, 2018 7:39 pm
by baej