Page 1 of 1
เรื่องของสูตร Vlookup
Posted: Tue Feb 19, 2013 4:04 pm
by isensosuikar
อยากสอบถามว่า Vlookup
ในส่วนของ Lookup_value สามารถเลือก cell ได้มากกว่า 1 ไหมครับ
จากไฟล์ที่ผมแนบให้ คือค่ามันจะแสดงเมื่อใส่ข้อมมูลใน B(รถบริษัท) เท่านั้น
ผมอยากจะให้ค่ามันแสดงเมื่อ ใส่ข้อมูลในส่วนของ A(รถร่วม) ด้วย โดยใส่สูตรแค่ครั้งเดียวอะครับ
ถ้าทำไม่ได้ มีสูตรอื่นที่ทำได้ไหมครับ
ขอบคุณครับ
Re: เรื่องของสูตร Vlookup
Posted: Tue Feb 19, 2013 4:18 pm
by bank9597

ยังไม่เข้าใจโจทย์ครับ ลองอธิบายอีกครั้งได้ไหมครับ
Re: เรื่องของสูตร Vlookup
Posted: Tue Feb 19, 2013 4:31 pm
by joo

ลองแบบนีดูครับว่าใช้กับที่ต้องการหรือไม่ที่ C2 คีย์ =IF($A2="",VLOOKUP($B2,พขร!$1:$65536,2,0),VLOOKUP($A2,พขร!$1:$65536,2,0))
Enter > Copy ลงด้านล้าง
Re: เรื่องของสูตร Vlookup
Posted: Wed Feb 20, 2013 9:25 am
by isensosuikar
Vlookup ที่ผมใช้อยู่จะเห็นว่า ข้อมูลใน C2,D2,E2 จะขึ้นมาต่อเมื่อ คีย์ทะเบียนใส่ใน B2,B3 ลงมา
แต่ถ้า คีย์ทะเบียน ใน A13,A14 ลงมาเรื่อยๆ ข้อมูลใน C13,D13,E13 จะไม่ขึ้นมา
อยากทราบพอจะมีวิธี ให้ข้อมูลในส่วนของ C,D,Eขึ้นมาทุกครั้ง ไม่ว่าจะคีย์ ทะเบียน ลงใน AหรือB ก็ตามบ้างไหมครับ
ถ้าVlookup ทำไม่ได้มีสูตรอื่นที่ทำได้ไหมครับ
Re: เรื่องของสูตร Vlookup
Posted: Wed Feb 20, 2013 10:57 am
by snasui

ลองตามนี้ครับ
ที่ C2 คีย์
=LOOKUP(CHAR(255),CHOOSE({1,2},"",VLOOKUP(LOOKUP(CHAR(255),$A2:$B2),พขร!$1:$1048576,
2,0)))
Enter > Copy ลงด้านล่าง > ปรับสูตรใช้กับคอลัมน์ D:E
Re: เรื่องของสูตร Vlookup
Posted: Thu Feb 21, 2013 8:45 am
by isensosuikar
ได้แล้วครับ ขอบคุณทุกท่านที่ช่วยตอบครับผม
Re: เรื่องของสูตร Vlookup
Posted: Thu Feb 21, 2013 11:13 am
by isensosuikar
ตอนแรกว่าจะ ดูว่าสูตรที่ คุณ snasui ให้มันมีที่มายังไง
เผื่อว่าจะทำเองเป็น แต่พอลองแล้ว จับต้นชนปลายไม่ถูกเลยครับ เศร้าเลยผม
คุณ snasui สงสัยจะเก่งเกินไป
Re: เรื่องของสูตร Vlookup
Posted: Fri Feb 22, 2013 11:43 pm
by DhitiBank

สุดยอดเลยครับ ขอเก็บเอาไปใช้นะครับ
isensosuikar wrote:ตอนแรกว่าจะ ดูว่าสูตรที่ คุณ snasui ให้มันมีที่มายังไง
เผื่อว่าจะทำเองเป็น
ผมขอลองอธิบายเพื่อทดสอบความเข้าใจหน่อยนะครับ ถูกผิดอย่างไร รบกวนอาจารย์แก้ไขให้ทีครับ
1. จากด้านใน
LOOKUP(CHAR(255),$A7:$B7)
สูตรนี้หมายความว่าให้มองหาตัวอักษรใดๆ ก็ตามที่ปรากฎอยู่ที่เซล A7 และ B7 (มีคำสั่ง CHAR(255) หมายถึงตัวอักษร หรือข้อความใดๆ) พอพบก็จะคืนค่าเป็นอักษรหรือข้อความนั้นๆ ในที่นี้คือทะเบียนรถ
2. VLOOKUP(...(1)...,พขร!$1:$1048576,4,0)
สูตรนี้จะเอาทะเบียนที่ได้จากข้อ 1 มาหาจากตารางในชีท พขร เพื่อส่งกลับค่าในคอลัมน์ที่ 4 ซึ่งก็คือ ประเภทรถ
3. CHOOSE({1,2},"",...(2)...)
สูตรนี้ใส่ไว้เผื่อในกรณีไม่มีการคีย์ทะเบียนทั้งในคอลัมน์ A และ B ซึ่งจะแสดงค่าผิดพลาด #N/A หากไม่มีสูตรนี้ แทนที่จะเป็นแบบนั้นก็บังคับให้มีตัวเลือกในการแสดงผลคือ ค่าว่าง ("") กับ #N/A
4. LOOKUP(CHAR(255),...(3)...)
สูตรนี้จะต่อเนื่องจากข้อ 3 คือหากมีค่าผิดพลาด สูตรก็จะบังคับให้แสดงค่าว่างแทน
Re: เรื่องของสูตร Vlookup
Posted: Fri Feb 22, 2013 11:56 pm
by snasui

เป็นวิธีอธิบายที่ดีอีกวิธีคืออธิบายจากสูตรย่อยไปยังสูตรใหญ่ ปกติการเขียนสูตรควรจะเขียนเช่นนี้คือเขียนสูตรในสุดมายังนอกสุด
DhitiBank wrote:1. จากด้านใน
LOOKUP(CHAR(255),$A7:$B7)
สูตรนี้หมายความว่าให้มองหาตัวอักษรใดๆ ก็ตามที่ปรากฎอยู่ที่เซล A7 และ B7 (มีคำสั่ง CHAR(255) หมายถึงตัวอักษร หรือข้อความใดๆ) พอพบก็จะคืนค่าเป็นอักษรหรือข้อความนั้นๆ ในที่นี้คือทะเบียนรถ
ความหมายคือให้นำค่าในเซลล์สุดท้ายที่พบในช่วง $A7:$B7 นั่นหมายความว่า ถ้า B7 มีค่าก็นำ B7 มาแสดง ถ้า B7 ไม่มีค่าใดและ A7 มีค่าก็นำ A7 มาแสดง
DhitiBank wrote:2. VLOOKUP(...(1)...,พขร!$1:$1048576,4,0)
สูตรนี้จะเอาทะเบียนที่ได้จากข้อ 1 มาหาจากตารางในชีท พขร เพื่อส่งกลับค่าในคอลัมน์ที่ 4 ซึ่งก็คือ ประเภทรถ
อธิบายได้ถูกต้องแล้วครับ
DhitiBank wrote:3. CHOOSE({1,2},"",...(2)...)
สูตรนี้ใส่ไว้เผื่อในกรณีไม่มีการคีย์ทะเบียนทั้งในคอลัมน์ A และ B ซึ่งจะแสดงค่าผิดพลาด #N/A หากไม่มีสูตรนี้ แทนที่จะเป็นแบบนั้นก็บังคับให้มีตัวเลือกในการแสดงผลคือ ค่าว่าง ("") กับ #N/A
เป็นการนำค่า "" และผลลัพธ์ตามข้อ 2 มาเป็น Array และใช้ใน Lookup ตามข้อ 4 อีกทอดหนึ่ง
DhitiBank wrote:4. LOOKUP(CHAR(255),...(3)...)
สูตรนี้จะต่อเนื่องจากข้อ 3 คือหากมีค่าผิดพลาด สูตรก็จะบังคับให้แสดงค่าว่างแทน
จากข้อ 3 จะสืบทอดผลลัพธ์มายังข้อ 4 โดยสูตรจะได้เป็น =Lookup(Char(255),{"","ผลลัพธ์จาก Vlookup"}) ซึ่งหมายความว่า ให้หาค่าสุดท้ายที่เป็นอักขระในช่วง {"","ผลลัพธ์จาก Vlookup"} หากผลลัพธ์ของ Vlookup ไม่เป็น #N/A ก็เอาผลลัพธ์ของ Vlookup มาแสดง หากเป็น #N/A ก็จะนำค่าว่างมาแสดง
Re: เรื่องของสูตร Vlookup
Posted: Sat Feb 23, 2013 12:43 am
by DhitiBank
โอ้.... ชัดเจนเลยครับ ขอบคุณอาจารย์มากครับ
เพิ่งรู้ว่าสูตร Lookup(Char(255),...) จะมองพบ "" ได้ และหากไม่พบอักขระใดก็จะแสดงค่า "" หากมี "" อยู่ในตัวเลือก ขอบคุณอีกครั้งครับ
อาจารย์ครับ ผมสงสัยว่า หากผมจะเอาปรับใช้โดยปรับสูตรเป็น
=IFERROR(VLOOKUP(LOOKUP(CHAR(255),...)...),"")
มันจะใช้ได้หรือมีข้อจำกัดอะไรไหมครับ
Re: เรื่องของสูตร Vlookup
Posted: Sat Feb 23, 2013 12:46 am
by snasui

สำหรับ Excel 2007 เป็นต้นไปสามารถใช้ได้ไม่มีข้อจำกัดใดครับ
Re: เรื่องของสูตร Vlookup
Posted: Sat Feb 23, 2013 12:54 am
by DhitiBank
snasui wrote:
สำหรับ Excel 2007 เป็นต้นไปสามารถใช้ได้ไม่มีข้อจำกัดใดครับ
ขอบคุณมากครับ
Re: เรื่องของสูตร Vlookup
Posted: Sat Feb 23, 2013 8:14 am
by isensosuikar
ขอบคุณทั้ง 2 ท่านมากครับ ที่ช่วยอธิบาย
พอจะเข้่าใจได้บ้าง แต่ยังไม่แน่ใจว่าจะทำได้หรือเปล่าครับ
เห็นท่าน 2 คนแล้ว เหมือนผมเป็นเด็กเลย - -
Re: เรื่องของสูตร Vlookup
Posted: Sat Feb 23, 2013 8:43 am
by DhitiBank
เอ่อ...ผมก็เด็กสำหรับ excel เหมือนกันครับ โปรดอย่าชมขนาดนั้นเลย
อยากเก่งและเข้าใจมากขึ้นก็ต้องลองใช้ครับ แล้วก็เข้ามาศึกษาในบอร์ดนี้มากๆ อาจารย์คนควนและเพื่อนๆ ทุกคนใจดี พร้อมช่วยเหลือครับ
Re: เรื่องของสูตร Vlookup
Posted: Sat Feb 23, 2013 11:32 am
by isensosuikar
ครับ ว่างๆแล้วจะเข้ามาครับ