Page 1 of 1
วิธีตั้งให้สูตรทำงานเมื่อเงือนไขถูกต้อง
Posted: Sat Feb 23, 2013 7:03 pm
by isensosuikar
ชุดข้อมูลของผมจะแบ่งเป็น 2ชุด คือ ชุดที่ 1 สีแดง เป็น พาเลทไม้ ชุดที่ 2 สีเขียว เป็นพาเลทพลาสติก
ถ้าจะทำให้ สูตรใน K5 ทำงาน เมื่อ H5 เป็นรหัสสินค้า ชุดที่ 1 และ สูตรใน L5 ทำงานเมื่อ H5 เป็นชุดที่ 1
และ ถ้าจะทำให้ สูตรใน M7 ทำงาน เมื่อ H5 เป็นรหัสสินค้า ชุดที่ 2 และ สูตรใน N7 ทำงานเมื่อ H5 เป็นชุดที่ 2
โดยเงื่อนไขที่ สูตร จะทำงานผมลองเขียนดู แต่ผมเขียนเป็นสูตรไม่เป็นครับ
รบกวนทุกท่านดูให้หน่อยครับ ว่าสามารถทำได้ไหม หรือมีสูตรใดที่ทำได้
ขอบคุณทุกท่านที่เข้ามาตอบครับ
Re: วิธีตั้งให้สูตรทำงานเมื่อเงือนไขถูกต้อง
Posted: Sat Feb 23, 2013 7:39 pm
by snasui

ลองตามนี้ครับ
- เซลล์ K5 คีย์
=IF(ISNUMBER(MATCH(H5+0,{706106,706107,706108,706109,706110},0)),ROUNDDOWN(J5/O5,0),0)
Enter
- เซลล์ L5 คีย์
=IF(ISNUMBER(MATCH(H5+0,{706106,706107,706108,706109,706110},0)),J5-K5*O5,0)
Enter
- เซลล์ M7 คีย์
=IF(ISNUMBER(MATCH(H7+0,{706502,706601,709402,714106},0)),ROUNDDOWN(J7/O7,0),0)
Enter
- เซลล์ N7 คีย์
=IF(ISNUMBER(MATCH(H7+0,{706502,706601,709402,714106},0)),J7-M7*O7,0)
Enter
Re: วิธีตั้งให้สูตรทำงานเมื่อเงือนไขถูกต้อง
Posted: Sun Feb 24, 2013 12:35 pm
by isensosuikar
ขอบคุณมากครับ อาจารย์ ได้แล้วครับ
อาจารย์พอจะแยก วิธีการเขียนสูตรนี้ให้ได้ไหมครับ
อยากจะเขียนเป็นมั้งครับ ขอบคุณครับ
Re: วิธีตั้งให้สูตรทำงานเมื่อเงือนไขถูกต้อง
Posted: Sun Feb 24, 2013 2:23 pm
by snasui

ต้องศึกษาแต่ละฟังก์ชั่นให้เข้าใจก่อนครับ คือ
If,
Isnumber,
Match
จากสูตรใน K5 คือ
=IF(
ISNUMBER(MATCH(H5+0,{706106,706107,706108,706109,706110},0)),ROUNDDOWN(J5/O5,0),
0)
หมายความว่า ถ้า
ISNUMBER(MATCH(H5+0,{706106,706107,706108,706109,706110},0)) เป็นจริงแล้วให้แสดงผลลัพธ์ของ ROUNDDOWN(J5/O5,0) ถ้าไม่เป็นจริงให้แสดงค่า
0
จากสูตร
ISNUMBER(
MATCH(H5+0,{706106,706107,706108,706109,706110},0))
เป็นการทดสอบว่า
MATCH(H5+0,{706106,706107,706108,706109,706110},0) เป็นตัวเลขหรือไม่ ถ้าเป็นจะแสดงค่า True ถ้าไม่เป็นจะแสดงค่า False
จากสูตร
MATCH(
H5+0,{706106,706107,706108,706109,706110},0)
เป็นการหาว่า
H5+0 อยู่ในลำดับที่เท่าไรของค่าคงที่ Array {706106,706107,706108,706109,706110} หากไม่พบจะแสดงค่าผิดพลาดเป็น #N/A ถ้าพบจะแสดงลำดับที่พบ ที่ต้องบวกด้วย 0 เนื่องจากว่าเดิม H5 เป็น Text จึงบวกด้วย 0 เพื่อให้เป็น Number ถึงจะนำไป Match กับ Number ได้
Re: วิธีตั้งให้สูตรทำงานเมื่อเงือนไขถูกต้อง
Posted: Mon Feb 25, 2013 10:40 am
by isensosuikar
อาจารย์ครับ text กับ number เราสามารถดูได้จากส่วนไหนครับ
ใช่ใน format หรือปล่าวครับ
Re: วิธีตั้งให้สูตรทำงานเมื่อเงือนไขถูกต้อง
Posted: Mon Feb 25, 2013 1:16 pm
by snasui
Re: วิธีตั้งให้สูตรทำงานเมื่อเงือนไขถูกต้อง
Posted: Tue Feb 26, 2013 8:29 am
by isensosuikar
ขอบคุณมากครับ ดูท่าจะยากสำหรับผมพอสมควรเลยครับ
แต่ผมจะพยายามทำความเข้าใจครับ
จากสูตรใน K5 คือ =IF(ISNUMBER(MATCH(H5+0,{706106,706107,706108,706109,706110},0)),ROUNDDOWN(J5/O5,0),0) หมายความว่า ถ้า ISNUMBER(MATCH(H5+0,{706106,706107,706108,706109,706110},0)) เป็นจริงแล้วให้แสดงผลลัพธ์ของ ROUNDDOWN(J5/O5,0) ถ้าไม่เป็นจริงให้แสดงค่า 0
อาจารย์ครับ ในส่วนนี้ ถ้าไม่เป็นจริงให้แสดงค่า 0 เราสามารถเปลี่ยนให้เป็นอย่างอื่นแทนได้ไหมครับ
เช่น - หรือ ปล่อยว่าง หรือเป็นตัวหนังสือ ไม่มี ประมาณนี้อะครับ หรือเปลี่ยนได้แต่เฉพาะตัวเลขเท่านั้นครับ
ถามไว้เผื่อเอาไว้ประยุคใช้กับตัวอื่นครับ
Re: วิธีตั้งให้สูตรทำงานเมื่อเงือนไขถูกต้อง
Posted: Thu Feb 28, 2013 12:26 am
by DhitiBank
isensosuikar wrote:ในส่วนนี้ ถ้าไม่เป็นจริงให้แสดงค่า 0 เราสามารถเปลี่ยนให้เป็นอย่างอื่นแทนได้ไหมครับ
เช่น - หรือ ปล่อยว่าง หรือเป็นตัวหนังสือ ไม่มี ประมาณนี้อะครับ
สวัสดีครับ ผมขอช่วยอาจารย์ตอบแล้วกันนะครับ
หากคุณไม่ต้องการให้แสดงเป็นค่า 0 แต่ต้องการให้แสดงเป็นข้อความก็สามารถทำได้โดย แทนที่ 0 ด้วยเครื่องหมายอัญประกาศ
"" โดย
"" หมายถึง ค่าว่าง
"ไม่มี" หมายถึง ให้แสดงคำว่า ไม่มี
เป็นต้นครับ
ปล. คำว่า "อะ" เป็นภาษาพูดครับ ผิดกฏของบอร์ดนะครับ
Re: วิธีตั้งให้สูตรทำงานเมื่อเงือนไขถูกต้อง
Posted: Thu Feb 28, 2013 11:15 am
by isensosuikar
ปล. คำว่า "อะ" เป็นภาษาพูดครับ ผิดกฏของบอร์ดนะครับ
ขอบคุณมากครับ แล้วก็ขอโทษด้วยครับ
ทุกวันนี้เริ่มแยกไม่ค่อยออกแล้วว่าคำไหน แชท คำไหน ภาษาปกติ