ลองมาเดากันไหมครับว่า Excel เขียนสูตรได้กี่ภาษา?

ติ๊กต็อก ติ๊กต็อก ..

แวบแรกน่าจะนึกถึง 2 ภาษาคือ Excel Function กับ VBA
แต่แท้จริงแล้วมี 5 นั่นคือ

  1. Excel Function
  2. VBA
  3. M Code
  4. DAX
  5. MDX

แต่ละภาษาเป็นยังไง มาดูกันเลย

ผมนั่งปั่นงานตั้งแต่สามทุ่มถึงตีสอง ง่วงมาก ตากำลังจะปิด เหลือเพียงแค่กดเอ็นเทอร์ Excel ไฟล์นี้ก็เสร็จ
ทันทีที่กดเอ็นเทอร์ มันขึ้น #SPILL!
เฮ้ย! ผีหลอก!!

SPILL คืออะไร?

“ลองเปลี่ยน – เป็น ก แล้วใช้ PROPER จากนั้นเปลี่ยน ก เป็น – ดีไหมคะ?”
“ยังไงนะครับ?”
ผมตามเธอไม่ทัน
“แบบนี้ค่ะ” แล้วเธอก็พิมพ์สูตร
“เฮ้ย ! แบบนี้ได้ด้วยเหรอ !!” ผมตะโกนดังลั่น

“อยากเขียนสูตรปัดเวลาเข้างานเป็นนาที ต้องทำยังไงคะ?” คุณติ๊บ สาวงามอันดับหนึ่งของบริษัทให้เกียรติเดินมาถามผมถึงโต๊ะ
“อะ…อะ..ไรนะครับ” ผมประหม่าทุกครั้งที่คุยกับเธอ
“คืออย่างนี้ค่ะ ติ๊บอยากเขียนสูตรปัดเวลาเข้างาน โดยปัดเศษวินาทีทิ้งไป เช่น ถ้าเข้างาน 9:01:58 ก็ให้เป็น 9:01:00”
“อะ..อ่อ ชะ..ใช้ฟังก์ชัน FLOOR ได้เลยครับ”

=FLOOR(A4, “0:01″)”

“เอ๋ ! ในสูตรเขียนเป็น “0:01” ได้ด้วยหรือคะ?”
“ได้ครับ อันนี้เป็นทริกเล็กๆในการปัดเวลาเป็นนาทีครับ” ผมเริ่มคุมสติได้ ขณะที่พี่วิกที่นั่งเยื้องไปหันมาทำตาโต พลางทำมือชี้โบ้ชี้เบ๊

“เดี๋ยวติ๊บลองนิดนึงนะคะ” คุณติ๊บพูดพลางพิมพ์สูตรลงในคอมพิวเตอร์ที่ถือมาด้วย
“มองด้านข้างยิ่งสวยแฮะ” ผมคิดในใจ พลางสูดได้กลิ่นน้ำหอมที่ไม่รู้ยี่ห้ออะไร แต่ชวนฝันสุดๆ
“เอ๊ะ !” คุณติ๊บโพล่งขึ้น ผมทำเอาผมสะดุ้ง หรือเธอรู้ว่าผมแอบมอง
“มันได้แค่บางค่า แต่บางค่าไม่ได้ค่ะ” คุณติ๊บชี้ให้ดูสูตรในคอมพิวเตอร์

เพล๊ง!! ผมได้ยินเสียงแตกกราวของหน้าตัวเอง

“พี่คะ อยากปัดเวลาให้เป็นทุก 15 นาที ต้องเขียนสูตรยังไงคะ?” จู่ๆคุณติ๊บ สาวงามอันดับหนึ่งของบริษัทก็เดินมาหาผมที่โต๊ะ
“อะ..อะ..ไร..ไร นะครับ” ผมถึงกับตั้งตัวไม่ติด เพราะไม่เคยอยู่ใกล้เธอขนาดนี้มาก่อน ปกติได้แต่มองระยะ 30 เมตร
“คือติ๊บมีข้อมูลที่เป็นเวลา อยากปัดเศษทิ้งให้เป็นทุก 15 นาที เช่น 9:14 ปัดเป็น 9:00 หรือ 9:24 ปัดเป็น 9:15 ค่ะ”
“อ่ะ..เอ่อ… ค่ะ..คิดว่าได้นะครับ”
ผมพยายามคุมสติ
“จริงหรือคะ ทำยังไงคะ?”
“ลองเขียนสูตรแบบนี้ครับ”
ผมพยายามทำมือไม่ให้สั่นตอนพิมพ์

วันนี้ผมได้รับโจทย์ข้อนึงจากไลน์กรุ๊ปเพื่อนออฟฟิศเก่า เห็นว่าสนุกดี เลยหยิบมาเล่าให้ฟังครับ

โจทย์มีอยู่ว่า
ให้ใส่เครื่องหมายทางคณิตศาสตร์ ทำยังไงให้ได้ผลลัพธ์เท่ากับ 6

2 2 2 =6
3 3 3 =6
4 4 4 =6
5 5 5 =6
6 6 6 =6
7 7 7 =6
8 8 8 =6
9 9 9 =6

ทำได้ 1 ข้อ จบอนุบาล
ทำได้ 2 ข้อ จบประถม
ทำได้ 3 ข้อจบ ม.ต้น
ทำได้ 4 ข้อ จบ ม.ปลาย
ทำได้ 5 ข้อ จบมหาลัย
ทำได้ 6 ข้อ จบศาสตร์ด้านนี้
ทำได้ทุกข้อ อัจฉริยะ

“อยากให้ Excel แสดงเลขลำดับบรรทัดที่ตรงกับเงื่อนไข ต้องเขียนสูตรยังไงครับ?” ตั้มจู่โจมด้วยคำถาม
“พอจะยกตัวอย่างได้ไหม” ผมถามกลับ
“คืออย่างนี้ครับ สมมติผมมีคอลัมน์แสดง Product Code อยากเขียนสูตรแสดงลำดับ 1, 2, 3, 4 เฉพาะ Product Code ที่มีตัว a ครับ”

ข้อมูลที่ตั้มพูดถึง หน้าตาแบบนี้ครับ

อยากนับ transaction ที่ขายโดยจอห์น ต้องเขียนสูตรยังไง?
=COUNTIFS( B2:B17, “John” )

อยากนับ transaction ที่ขายโดยจอห์น และ volume =10 ต้องเขียนสูตรยังไง?
=COUNTIFS( B2:B17, “John” , C2:C17, 10 )

อยากนับ transaction ที่ขายโดยจอห์น และ volume >10 ต้องเขียนสูตรยังไง?
=COUNTIFS( B2:B17, “John” , C2:C17, “>10” )

แล้วถ้าพิมพ์ John ไว้ที่เซลล์ G4 และพิมพ์ 10 ไว้ที่ H4 ล่ะ ต้องเขียนสูตรยังไง?
=COUNTIFS( B2:B17, G4, C2:C17, “>”&H4 )

หืมม์! เขียนสูตรแบบนี้ได้ด้วยเหรอ?
ทำไม อะไร ยังไง?

หาคำตอบได้จากคลิปนี้ครับ ^__^

“อยากนับเฉพาะวันเสาร์-อาทิตย์ ต้องเขียนสูตรยังไงครับ?” 
“เอ .. เหมือนคุ้นๆว่าพี่เคยสอนไปแล้วนะ”
“ใช่ๆ พอพี่พูด ผมนึกออกเลย”
โจ้ตอบแล้วเปิดคอมพ์หาไฟล์เก่าทันที

“เจอแล้ว สูตรนี้ไง” โจ้ตะโกนเสียงดังแปดหลอด

=SUMPRODUCT(- -(WEEKDAY(ROW(INDIRECT(B1&”:”&B2)))={1,7}))

(อ่านรายละเอียดและที่มาของสูตรได้จากบทความ ep1 หรือ บทความนี้)

“มีอะไรกันหรือคะ เสียงดังเชียว” น้องโบพูดยิ้มๆพลางเข้ามาร่วมวง
“คุยกันเรื่องสูตรนับวันเสาร์-อาทิตย์น่ะ แต่สูตรนี้พี่ว่าเข้าใจยากนิดนึง โบมีไอเดียอื่นไหม?” ผมโยนหินถามทาง
“มีค่ะ”
“หยึย! เพิ่งถามเอง ทำไมคิดเร็วจัง”
“ใช้สูตรนี้ค่ะ”
แล้วน้องโบก็เขียนสูตร

=NETWORKDAYS.INTL( B3, B4, “1111100” )

“เฮ้ยยยย!!” คราวนี้ผมตะโกนเสียงดังเก้าหลอด

“อยากคำนวณ %Change เทียบกับเป้าหมาย ต้องเขียนสูตรยังไงครับ” โจ้ถามในเช้าวันสงกรานต์ที่ไม่ได้เป็นวันหยุด
“ช่วงนี้ตกเป้ากระจุยเลยพี่ คิดเปอร์เซ็นต์เปลี่ยนแปลงผิดทุกที” โจ้เสริม
“เอ … พี่คุ้นๆว่าเหมือนเคยสอนสูตรนี้แล้วนะ ใช่มะ ?”
“เออใช่ ! พี่เคยสอนแล้ว เดี๋ยวขอหาแป๊ปนึง” โจ้ตอบพลางแบมือตบหน้าผากตัวเอง

“เจอแล้ว สูตรนี่ไง !” โจ้ร้องลั่นออฟฟิศ