:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

การวางแผนการผลิต

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

การวางแผนการผลิต

#1

Post by non2_hab »

สวัสดีครับ

ทางผมต้องการทำการวางแผนการผลิต โดยให้แต่ละกระบวนการ มีงานออกตาม Leadtime ของแต่ละกระบวนการนั้นๆ
ซึ่งตอนนี้ ใช้ Function COLUMNS และ INDEX เข้ามาช่วยในการคำนวณ ให้ผลลัพธ์ตามที่ต้องการ ดังไฟล์แนบ ข้อมูล Table 1

แต่มีโจทย์เพิ่มเติม คือ ผลลัพธ์ที่ได้ต้องนำไปตรวจสอบกับตารางวันทำงาน Working day ด้วย หากเป็นวันหยุด (H) ไม่ต้องแสดงค่า
โดยข้อมูลในตารางการทำงาน มี 3 อย่าง เซลล์ที่ว่าง คือ วันทำงานปรกติ, ตัว O วันทำงานล่วงเวลา และ ตัว H วันหยุด
สิ่งที่ต้องการแสดง คือ ข้อมูลตาม Table 2 ครับ

ขอคำแนะนำด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1758
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: การวางแผนการผลิต

#2

Post by norkaz »

...

เรียนท่านเจ้าของคำถาม
ผมรบกวนช่วยอธิบาย Table 1 ว่า ผลลัพธ์ ที่ได้นั้น มีหลักการอย่างไร
เนื่องจาก โจทย์ ที่ให้มา มีบางเงื่อนไขที่ ทำให้เข้าใจว่า ผลลัพธ์ที่แสดงที่ Table 2 ขัดแย้งกับตัวอย่างคำตอบที่ควรเป็น
จาก Table1 ครับ

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การวางแผนการผลิต

#3

Post by non2_hab »

ขออธิบายเพิ่มเติมครับ

ผลลัพธ์ของ Table 1 มาจาก

Row 11 ตั้งแต่ Cell ที่ D11 จนถึง AH11 เป็นการป้อนข้อมูลแบบ Manual

การประมวลผลของ Row 12 ตั้งแต่ Cell ที่ D12 จะใช้หลักการ

=IF(COLUMNS($D12:D12)-$B12<$B12,"",INDEX($D11:D11,COLUMNS($D12:D12)-$B12))

ตรวจสอบคอลัมน์ในการอ้างอิง ลบ Lead time ของแต่ละ Process และ นำไปตรวสสอบ กับ Lead time ของ Process นั้น

ถ้าผลต่างน้อยกว่า ให้ แสดงค่าว่างเปล่า

ถ้าผลต่างมากกว่า ให้ ตรวจสอบข้อมูลของ ROW 11 และดึงค่าคอลัมน์ตามเงื่อนไข มาแสดงผล ครับ

ในส่วนของ Table 2

ต้องการให้เงื่อนไขในการแสดงค่า มีการตรวจสอบกับวันทำงานครับ ถ้าวันไหนเป็นวันหยุด H ไม่ต้องแสดงค่าครับ เหมือนให้ข้าวคอลัมน์นั้นไปครับ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1758
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: การวางแผนการผลิต

#4

Post by norkaz »

...

Table1 ให้คงสูตรเดิมไว้ ให้ออก Output ที่ Table 2

D19
=IF(D$3="H","",MAX($C19:C19)+1)

Copy ไปขวา

D24
=IF(D$9="H","",INDEX($D12:$AH12,IFERROR(MAX($C$19:C$19)+1+2,"")))

Copy ลงล่าง และไปขวา

**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1758
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: การวางแผนการผลิต

#5

Post by norkaz »

...

กรณี ให้เริ่ม วันผลิต วันใดก็ได้

ที่ D24 ปรับสูตรเป็น

=IF(D$9="H","",INDEX($D12:$AH12,MAX($C$19:C$19)+MATCH(TRUE,INDEX($D$11:$AH$11<>"",0),0)))


Copy ลงล่าง และไปขวา


**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...
You do not have the required permissions to view the files attached to this post.
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การวางแผนการผลิต

#6

Post by non2_hab »

ขอบคุณ คุณ norkaz มากครับ

หลังจากนำไฟล์ไปทดลองใช้ ยังพบปัญหาอยู่ครับ

เมื่อป้อนข้อมูลที่ cell K11 ที่ Table 1 แล้วนั้นพบว่า ข้อมูลที่แสดงที่ Table 2 นั้นผิดพลาดครับ ตามไฟล์แนบครับ

รบกวนขอคำแนะนำเพิ่มเติมด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1758
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: การวางแผนการผลิต

#7

Post by norkaz »

...

จากคำถามแรกที่สอบถามมา ในตัวอย่างไฟล์ ไม่มีการผลิตหลังจากช่วงวันหยุดที่สอง
โจทย์ที่สอบถามมาครั้งแรก กับสูตรที่เขียนไปนั้น ควรถูกต้อง ตามโจทย์ที่กำหนดมาทุกประการ

สูตรที่ Table 2 เขียนเพื่อล้อผลลัพธ์จาก Table1 ข้ามวันหยุด


กรณีมีการผลิต หลังจากช่วงวันหยุดที่สอง หากต้องการผลลัพธ์ที่แตกต่างไปจากนั้น ผมรบกวน ทำตัวอย่าง ให้เต็มทั้ง 31 วัน แล้วสอบถามเข้ามาใหม่ครับ

**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ
User avatar
norkaz
Gold
Gold
Posts: 1758
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: การวางแผนการผลิต

#8

Post by norkaz »

...

อีกวิธี

หากต้องการผลลัพธ์ เหมือนกับที่แจ้งมาโดยไม่ต้องเขียนสูตรใหม่ สามารถใช้สูตรที่เขียนไปครั้งแรกได้เลย ให้วางตารางการผลิต ทับวันหยุดไปได้เลยครับ ตามภาพ

ส่วน Output ที่ Table2 จะสร้างตารางการผลิตข้ามวันหยุดให้เอง

ใช้สูตรเดิม

D19

=IF(D$3="H","",MAX($C19:C19)+1)
Copy ไปขวา

D24

=IF(D$9="H","",INDEX($D12:$AH12,MAX($C$19:C$19)+MATCH(TRUE,INDEX($D$11:$AH$11<>"",0),0)))
Copy ลงล่าง และไปขวา

หากต้องการผลลัพธ์ที่แตกต่างไปจากนั้น ผมรบกวน ทำตัวอย่าง ให้เต็มทั้ง 31 วัน แล้วสอบถามเข้ามาใหม่ครับ

**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...
You do not have the required permissions to view the files attached to this post.
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การวางแผนการผลิต

#9

Post by non2_hab »

ขอบคุณ คุณ norkaz มากครับสำหรับคำแนะนำ
และขอโทษที่ทางผมแจ้งโจทย์กับความต้องการไม่ชัดเจนด้วยครับ

ทางผมได้ทำตัวอย่างที่มีข้อมูลครบทั้ง 31 วันมาใหม่แล้วครับตามไฟล์แนบ
สิ่งที่ต้องการคือไม่อยากป้อนข้อมูลตรงวันหยุดครับ
รบกวนขอคำแนะนำด้วยครับ

ขอสอบถามเพิ่มเติมเกี่ยวกับการแนบไฟล์รูป ไม่ทราบว่าต้องทำอย่างไรครับ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1758
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: การวางแผนการผลิต

#10

Post by norkaz »

...

Table 1 แทรกแถว 12

D12
=IFERROR(IF(COLUMNS($D12:D12)<XMATCH(TRUE,$D$11:$AH$11<>""),"",INDEX(FILTER($D$11:$AH$11,$D$11:$AH$11),COLUMNS($D12:D12)-XMATCH(TRUE,$D$11:$AH$11<>"")+1)),"")

Copy ไปขวา


D13:AH16 ใช้สูตรเดิมที่ท่านเจ้าของคำถามสร้างไว้


D20
=IF(D$3="H","",MAX($C20:C20)+1)

Copy ไปขวา


D25
=IF(D$9="H","",INDEX($D13:$AH13,MAX($C$20:C$20)+MATCH(TRUE,INDEX($D$12:$AH$12<>"",0),0)))

Copy ไปขวา และลงล่าง


** สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ
You do not have the required permissions to view the files attached to this post.
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การวางแผนการผลิต

#11

Post by non2_hab »

ขอบคุณ คุณ norkaz มากเลยครับ
Post Reply