Page 1 of 1

สอบถามการส่งค่าแบบมีเงื่อนไข

Posted: Tue Oct 04, 2016 1:33 am
by cartoonnet9
ขอรบกวนสอบถามการส่งค่าแบบมีเงือนไข ครับ

ผมต้องการทำตารางควบคลุมการทำงานของเอกสารไปรษณีย์ครับ

ปกติเวลาผมแจ้งงานบริษัท ผมจะลงข้อมูลไว้ใน ชีสของงานประเภทนั้นๆ เช่น PA ,Mortor,IAR และอื่นๆ แต่จะมี cell ที่เว้นว่างไว้เพื่อใส่วันที่ ที่บริษัทส่งเอกสารงานที่ผมแจ้งมาให้ผมทางไปรษณีย์

พอผมรับไปรษณีย์ ผมต้องมาลงรับไว้ที่หน้ารวม 1 ครั้งและ ลงวันที่เอกสารรับในช่องที่เว้นไว้ แยกแต่ละประเภท

สิ่งที่ผมรบกวนสอบถามเพื่อนๆคือ
1.อยากให้พอผมลงรับไปรษณีย์ในหน้ารวมแล้ว โดยตั้งเงื่อนไขว่า
1.1 ประเภทตรง (เช่น pa motor)
1.2 ชื่อตรง
1.3 cell ที่เว้นไว้ต้องเป็นช่องว่าง
1.4 นำวันที่รับไปรษณีย์ ไปไว้ในช่องว่างที่เตรียมไว้

รบกวนท่านอาจารย์ทุกๆท่านด้วยนะครับ

Re: สอบถามการส่งค่าแบบมีเงื่อนไข

Posted: Tue Oct 04, 2016 6:43 am
by snasui
:D ช่วยอธิบายไว้ในไฟล์แนบในตำแหน่งเซลล์เป้าหมายด้วยว่า ให้นำมาจากชีตใด ด้วยเงื่อนไขใด จะได้สะดวกในการทำความเข้าใจครับ

Re: สอบถามการส่งค่าแบบมีเงื่อนไข

Posted: Tue Oct 04, 2016 9:10 am
by cartoonnet9
snasui wrote::D ช่วยอธิบายไว้ในไฟล์แนบในตำแหน่งเซลล์เป้าหมายด้วยว่า ให้นำมาจากชีตใด ด้วยเงื่อนไขใด จะได้สะดวกในการทำความเข้าใจครับ

ขอบคุณมากครับท่านอาจารย์

Re: สอบถามการส่งค่าแบบมีเงื่อนไข

Posted: Tue Oct 04, 2016 8:36 pm
by snasui
:D B17 ของชีต รับไปรษณีย์ กับ A35 ของชีต PA ต้องคีย์ให้เหมือนกัน ไม่เช่นนั้นจะไม่ได้คำตอบครับ

จากนั้น ที่ชีต PA เซลล์ E35 คีย์

=LOOKUP(2,1/((MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,255)=รับไปรษณีย์!$C$4:$C$154)*(A35=รับไปรษณีย์!$B$4:$B$154)),รับไปรษณีย์!$A$4:$A$154)

Enter

Re: สอบถามการส่งค่าแบบมีเงื่อนไข

Posted: Wed Oct 05, 2016 1:20 am
by cartoonnet9
snasui wrote::D B17 ของชีต รับไปรษณีย์ กับ A35 ของชีต PA ต้องคีย์ให้เหมือนกัน ไม่เช่นนั้นจะไม่ได้คำตอบครับ

จากนั้น ที่ชีต PA เซลล์ E35 คีย์

=LOOKUP(2,1/((MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,255)=รับไปรษณีย์!$C$4:$C$154)*(A35=รับไปรษณีย์!$B$4:$B$154)),รับไปรษณีย์!$A$4:$A$154)

Enter
ขอบคุณมากเลยครับท่านอาจารย์ ตอนนี้ติดปัญหาอยู่เล็กน้อยครับคือ กรณีที่ชื่อมันซ้ำกันเช่นใน ชีส รับไปรษณีย์มี การรับมา 1 ครั้ง
แต่ PA ถ้ามีการลงข้อมูลเพื่อรอรับค่ามากกว่า 1 ครั้ง(อาจจะส่งไปรษณีย์มากกว่า 1 รอบ) ทางโปรแกรมจะจำค่า ที่รับมาครั้งแรก

พอมีวิธีที่ว่า อันไหนเคยส่งค่ามาแล้ว ให้จบการทำงานไม่ต้องส่งครั้งที่ 2 หรือไม่ครับ
(ผม ไฮไลน์ สีไว้แล้วครับ)
ขอบคุณครับ

Re: สอบถามการส่งค่าแบบมีเงื่อนไข

Posted: Wed Oct 05, 2016 6:26 am
by snasui
:D ตัวอย่างการปรับสูตรครับ

ชีต PA เซลล์ E31 คีย์

=IFERROR(INDEX(รับไปรษณีย์!$A$4:$A$154,SMALL(IF(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,255)=รับไปรษณีย์!$C$4:$C$154,IF(A31=รับไปรษณีย์!$B$4:$B$154,ROW(รับไปรษณีย์!$A$4:$A$154)-ROW(รับไปรษณีย์!$A$4)+1)),COUNTIF(A$31:A31,A31))),"")

Ctrl+Shift+Enter > Copy ลงด้านล่าง อ่าน Note ด้านล่างอย่างละเอียดครับ

!
Note: Ctrl+Shift+Enter เป็นการสร้างสูตร Array โดยสามารถเลือกดำเนินการตามข้อ 1 หรือ 2 ด้านล่าง
  1. กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl และ Shift พร้อมกันค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  2. กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน จากนั้นกดแป้น Ctrl และ Shift พร้อมกันค้างไว้แล้วตามด้วย Enter เพื่อสร้างเป็นสูตร Array
  3. หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้ไม่สามารถคีย์เข้าไปเอง จะต้องมาด้วยการกดแป้น Ctrl+Shift+Enter เท่านั้น ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
  4. การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง

Re: สอบถามการส่งค่าแบบมีเงื่อนไข

Posted: Fri Oct 07, 2016 12:14 pm
by cartoonnet9
ขอบคุณมากครับ