Cobra wrote: Thu Nov 14, 2019 10:16 am
ผมรบกวนช่วยอธิบายสูตรให้หน่อยได้ไหมครับว่าแต่ละตัวคืออะไรบ้าง (ผมไม่เข้าใจครับ) =EOMONTH(C2,-1)+LOOKUP(WEEKDAY(EOMONTH(C2,-1)),{1,2,3,4,5,6,7},{5,4,3,2,1,7,6})

สูตรข้างต้นหมายถึงให้นำค่าที่ได้จากผลลัพธ์ของ EOMONTH(C2,-1) ไปบวกกับผลลัพธ์ของ LOOKUP(WEEKDAY(EOMONTH(C2,-1)),{1,2,3,4,5,6,7},{5,4,3,2,1,7,6}) เพื่อให้แสดงค่าวันศุกร์
ฟังก์ชั่น Eomonth หมายถึงการให้หาวันที่สุดท้ายของเดือนที่กำหนด
ไวยากรณ์คือ
EOMONTH(start_date,months)
start_date คือ C2 ส่วน months คือ -1 ความหมายคือ ให้หาวันที่สุดท้ายของเดือนตาม C2 และลบไปอีก 1 เดือน ถ้า C2 คือเดือนปัจจุบันก็จะหมายถึงหาวันที่สุดท้ายของเดือนก่อนเดือนปัจจุบัน คำตอบจะได้เป็นวันเดือนปี เช่น 31/10/2019 สามารถที่จะใช้บวก ลบ คูณ หาร ได้เหมือนตัวเลขปกติ
การใช้ Eomonth เพื่อให้ค่าเริ่มต้นเป็นวันใด ๆ เช่นวันปลายเดือน แทนที่จะเป็นวันปัจจุบันที่เปลี่ยนแปลงไปตามฟังก์ชั่น Now() ซึ่งจะจัดการลำบาก
ฟังก์ชั่น Lookup ใช้หาค่าใด ๆ ในช่วงข้อมูลที่กำหนดแล้วนำค่าที่ตรงกันในช่วงข้อมูลเป้าหมายมาแสดง
ไวยากรณ์คือ
LOOKUP(lookup_value,lookup_vector,result_vector)
lookup_value หมายถึงค่าที่การค้นหาในที่นี้คือ WEEKDAY(EOMONTH(C2,-1))
lookup_vector หมายถึงช่วงข้อมูลที่ต้องการค้นหา lookup_value ในที่นี้คือ {1,2,3,4,5,6,7}
result_vector หมายถึงช่วงข้อมูลที่เป็นคำตอบ ในที่นี้คือ {5,4,3,2,1,7,6}
หมายถึง ให้หาค่าที่น้อยกว่าหรือเท่ากับ WEEKDAY(EOMONTH(C2,-1)) ในช่วง {1,2,3,4,5,6,7} แล้วนำค่าที่ตรงกันในช่วง {5,4,3,2,1,7,6} มาแสดง ถ้า WEEKDAY(EOMONTH(C2,-1)) ให้ผลลัพธ์เป็น 6 จะนำค่า 7 มาแสดง ถ้า WEEKDAY(EOMONTH(C2,-1)) ให้ผลลัพธ์เป็น 1 จะนำ 5 มาแสดง
WEEKDAY ใช้หาค่าวันใน 1 อาทิตย์โดยสามารถกำหนดได้ว่าจะให้เริ่มวันอาทิตย์ที่เลขใด
ไวยากรณ์คือ
WEEKDAY(serial_number,return_type)
serial_number คือตัวเลขวันที่ ในที่นี้คือ EOMONTH(C2,-1)
return_type คือค่าที่กำหนดว่าให้วันอาทิตย์เป็นเลขใด ถ้าละไว้ วันอาทิตย์จะเป็นเลข 1 ส่วนวันเสาร์จะเป็นเลข 7
ทุกฟังก์ชั่นสามารถศึกษาได้จาก Help หรือที่ Link นี้ครับ
https://support.office.com/en-us/articl ... f26a86c0eb