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
:D ลองตามนี้ครับ
  1. เซลล์ K5 คีย์
    =IF(ISNUMBER(MATCH(H5+0,{706106,706107,706108,706109,706110},0)),ROUNDDOWN(J5/O5,0),0)
    Enter
  2. เซลล์ L5 คีย์
    =IF(ISNUMBER(MATCH(H5+0,{706106,706107,706108,706109,706110},0)),J5-K5*O5,0)
    Enter
  3. เซลล์ M7 คีย์
    =IF(ISNUMBER(MATCH(H7+0,{706502,706601,709402,714106},0)),ROUNDDOWN(J7/O7,0),0)
    Enter
  4. เซลล์ 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
:D ต้องศึกษาแต่ละฟังก์ชั่นให้เข้าใจก่อนครับ คือ 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 เราสามารถเปลี่ยนให้เป็นอย่างอื่นแทนได้ไหมครับ

เช่น - หรือ ปล่อยว่าง หรือเป็นตัวหนังสือ ไม่มี ประมาณนี้อะครับ
สวัสดีครับ ผมขอช่วยอาจารย์ตอบแล้วกันนะครับ :P
หากคุณไม่ต้องการให้แสดงเป็นค่า 0 แต่ต้องการให้แสดงเป็นข้อความก็สามารถทำได้โดย แทนที่ 0 ด้วยเครื่องหมายอัญประกาศ "" โดย
"" หมายถึง ค่าว่าง
"ไม่มี" หมายถึง ให้แสดงคำว่า ไม่มี
เป็นต้นครับ

ปล. คำว่า "อะ" เป็นภาษาพูดครับ ผิดกฏของบอร์ดนะครับ

Re: วิธีตั้งให้สูตรทำงานเมื่อเงือนไขถูกต้อง

Posted: Thu Feb 28, 2013 11:15 am
by isensosuikar
ปล. คำว่า "อะ" เป็นภาษาพูดครับ ผิดกฏของบอร์ดนะครับ
ขอบคุณมากครับ แล้วก็ขอโทษด้วยครับ

ทุกวันนี้เริ่มแยกไม่ค่อยออกแล้วว่าคำไหน แชท คำไหน ภาษาปกติ