Page 1 of 1

ต้องการย่อสูตร IF ครับ

Posted: Fri Feb 24, 2023 11:09 am
by Xcelvba
ต้องการย่อสูตรให้สั้นลงครับ

=IFERROR(IF($D2=$B$2,$C$2,IF($D2=$B$3,$C$3,IF($D2=$B$4,$C$4,IF($D2=$B$5,$C$5,IF($D2=$B$6,$C$6,IF($D2=$B$7,$C$7,INDEX($C$8:$C$34,MATCH(TRUE,ISNUMBER(FIND($B$8:$B$34,$D2)),0)))))))),"ไม่พบข้อมูล")

Re: ต้องการย่อสูตร IF ครับ

Posted: Fri Feb 24, 2023 11:27 am
by puriwutpokin
แบบนี้หรือเปล่าครับ
F2=INDEX(C$2:C$34,MATCH(D2,B$2:B$34,0))

Re: ต้องการย่อสูตร IF ครับ

Posted: Fri Feb 24, 2023 11:50 am
by Xcelvba
puriwutpokin wrote: Fri Feb 24, 2023 11:27 am แบบนี้หรือเปล่าครับ
F2=INDEX(C$2:C$34,MATCH(D2,B$2:B$34,0))
ไม่ใช่ครับ ขอโทษครับ ไม่ได้อธิบายรายละเอียดชัดเจน
Column A ถ้าเป็น Equal ค่าที่ต้องการหา ต้องตรง เป๊ะๆ ครับ
ถ้าเป็น Contain เป็นแค่บางส่วนได้ครับ
ผมเลยแยก สูตร 2 ส่วน คือ สูตร IF ถ้าตรงเป๊ะๆ (Equal) กับ FIND (Contain) ครับ


ยกตัวอย่าง ค่าที่ต้องการหาครับ
123456/123

ตัวอย่างข้อมูลครับ
แถวที่ 1 [ Equal 123456/123 A]
แถวที่ 2 [ Contain 123 B]

ค่าที่ได้จะเป็น A ครับ เพราะตรงตามเป๊ะ
ถ้าข้อมูลที่ค้นหาเป็น 11123456789112/123 ค่าที่ได้จะเป็น B ครับ เป็น มี 123 เป็นส่วนประกอบ

ซึ่งสูตรที่ผมใช้มันยาว (ไม่แน่ใจว่าสูตรถูกไหม) สามารถลดสูตรได้ไหมครับ

Re: ต้องการย่อสูตร IF ครับ

Posted: Fri Feb 24, 2023 12:25 pm
by puriwutpokin
แบบนี้ใช่ไหมครับ
F2=IFERROR(INDEX(C$2:C$7,MATCH(D2,B$2:B$7,0)),INDEX($C$8:$C$34,MATCH(TRUE,ISNUMBER(FIND($B$8:$B$34,D2)),0)))

Re: ต้องการย่อสูตร IF ครับ

Posted: Fri Feb 24, 2023 1:12 pm
by Xcelvba
puriwutpokin wrote: Fri Feb 24, 2023 12:25 pm แบบนี้ใช่ไหมครับ
F2=IFERROR(INDEX(C$2:C$7,MATCH(D2,B$2:B$7,0)),INDEX($C$8:$C$34,MATCH(TRUE,ISNUMBER(FIND($B$8:$B$34,D2)),0)))
ตรงตามต้องการขอบคุณครับ รบกวนอีกรูปแบบครับ ถ้าจะย่อจาก IF เป็น IFS ต้องทำอย่างไรครับ
จากสูตรนี้ครับ

=IFERROR(IF($D2=$B$2,$C$2,IF($D2=$B$3,$C$3,IF($D2=$B$4,$C$4,IF($D2=$B$5,$C$5,IF($D2=$B$6,$C$6,IF($D2=$B$7,$C$7,INDEX($C$8:$C$34,MATCH(TRUE,ISNUMBER(FIND($B$8:$B$34,$D2)),0)))))))),"ไม่พบข้อมูล")

Re: ต้องการย่อสูตร IF ครับ

Posted: Fri Feb 24, 2023 1:34 pm
by puriwutpokin
=IFERROR(IFS($D2=$B$2,$C$2,$D2=$B$3,$C$3,$D2=$B$4,$C$4,$D2=$B$5,$C$5,$D2=$B$6,$C$6,$D2=$B$7,$C$7,TRUE,INDEX($C$8:$C$34,MATCH(TRUE,ISNUMBER(FIND($B$8:$B$34,$D2)),0))),"ไม่พบข้อมูล") ตามนี้ครับ

Re: ต้องการย่อสูตร IF ครับ

Posted: Fri Feb 24, 2023 1:48 pm
by Xcelvba
ขอบคุณมากๆครับ :)