บทความนี้คือส่วนหนึ่งของโครงการ ร่วมสร้าง “หนังสือคู่มือ Excel ที่เจ๋งที่สุด” ใครที่มี comment เพื่อแนะนำ ปรับปรุงหนังสือได้ คุณจะได้เครดิตในฐานะผู้ร่วมเขี
เนื่องจากฟังก์ชั่นของ Excel มีเยอะมาก และถึงแม้ว่าการค้นหาฟังก์ชั่นนั้นมีประโยชน์ก็จริง แต่อาจไม่สะดวกนัก คงจะดีกว่ามากถ้าเราสามารถจำฟังก์ชั่นที่ใช้งานบ่อยๆ ได้ทันที
แต่ไม่ต้องห่วงเพราะฟังก์ชั่นที่ใช้บ่อยจริงๆ ไม่ได้มีเยอะเลย และมันก็เป็นไปตาม กฎ 80/20 ที่บอกว่า
“ผลลัพธ์หรือ ผลกระทบส่วนใหญ่ (80%) มาจากสาเหตุที่เป็นส่วนน้อย (20%)”
เพราะใน Excel การใช้งานส่วนใหญ่มาจาก ฟังก์ชั่นแค่ไม่ถึง 20% เท่านั้น!!
เท่าที่ผมค้นคว้ามา Excel มีฟังก์ชั่นทั้งหมดประมาณ 450 ฟังก์ชั่น (ประมาณนะครับ…) ซึ่งฟังก์ชั่นที่ผมคิดว่าใช้บ่อยมากๆ เลย มีอยู่ประมาณ 45 ตัวด้วยกัน และมีค่อนข้างบ่อยอีก 25 ตัว รวมเป็น 70 ตัว ซึ่งคิดเป็น 15% ของฟังก์ชั่นทั้งหมด
แหม.. กฎ 80/20 นี้แม่นจริงๆ สินะครับ !
ต้องเลือกใช้ฟังก์ชั่นให้เหมาะกับสถานการณ์
ในบทนี้คุณจะได้พบกับฟังก์ชั่นมากมาย ผมแนะนำให้มองว่าแต่ละฟังก์ชั่นมันเหมือนเครื่องมือที่มีหน้าที่ต่างกัน ซึ่งหน้าที่ของเราคือต้องเลือกใช้เครื่องมือให้เหมาะสมกับแต่ละสถานการณ์ โดยควรจะรู้ว่ามีเครื่องมืออะไรให้เลือกใช้บ้าง มันมีหน้าที่ไว้ทำอะไร และมันใช้งานยังไง? เช่น ฟังก์ชั่นใน Excel บางตัวอาจทำงานคล้ายๆ กัน ซึ่งเราต้องเลือกให้ถูกว่าจะใช้ฟังก์ชั่นไหนดี เช่น ฟังก์ชั่น COUNT เอาไว้นับจำนวนช่องที่เป็นตัวเลข ส่วน COUNTA เอาไว้นับช่องที่ไม่ใช่ช่องว่าง เป็นต้น
บางเครื่องมือ (ฟังก์ชั่น) อาจทำงานได้เหมือนกันกับอีกฟังก์ชั่นเลย และอาจทำงานได้มากกว่าด้วย แต่ก็มักจะเขียนสั่งงานยากกว่าด้วยเช่นกัน เช่น =MAX จะเท่ากับ =LARGE ที่ระบุว่าเอาอันดับ1
ถ้าเราไม่ได้จะทำอะไรซับซ้อนมาก ก็ไม่จำเป็นจะต้องไปขี่ช้างจับตั๊กแตน (ใช้ฟังก์ชั่นยากๆ ) ก็ได้ครับ
เน้นความเข้าใจหน้าที่และความสามารถของฟังก์ชั่น
หากคุณกำลังอ่านเนื้อหาบทนี้เป็นครั้งแรก ผมอยากให้เน้น ให้จำว่า ฟังก์ชั่นแต่ละอันมันทำอะไรได้ มากกว่าจะจำว่ามันมีวิธีเขียนยังไง เพราะหากเรารู้ว่ามันทำอะไรได้แล้ว เราจะเลือกใช้ได้ถูกตัวอยู่ และถึงจำไม่ได้ว่าเขียนยังไงก็ยังสามารถกด Help หรือ Google ดูวิธีใช้ได้ แต่ถ้าไม่รู้ด้วยซ้ำว่าทำอะไรได้ เราจะเริ่มต้นไม่ถูกเลย
เพื่อความสะดวกของคุณ ผมได้ทำการคัดเลือก Function ที่ใช้กันบ่อยๆ มาให้แล้ว!!
โดยผมจะแบ่งออกเป็นหมวดต่างๆ เช่นเดียวกับเมนูที่อยู่บน Ribbon ใน [Formulas] –> Function Library นะครับ
Math & Trig : คณิตศาสตร์
ฟังก์ชั่น | หน้าที่ | คำสั่ง/ตัวอย่างการใช้งาน |
SUM | บวกเลขทุกตัวที่อยู่ใน Range ที่เลือกไว้ | =SUM(number1,[number2],…]) =SUM(1,5,10) จะคิด 1+5+10 ได้ผลรวมเป็น 15 หรือ=SUM(A1:A10) จะเอาค่าใน A1 ถึง A10 มาบวกกัน |
SUMIFS | ใช้บวกเลขทุกตัวที่สอดคล้องกับเงื่อนไขทีกำหนดตัวนี้ทำหน้าที่คล้ายกับเครื่องมือ PivotTable ซึ่งเดี๋ยวเราจะได้เรียนรู้กันครับ | =SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], …) =SUMIFS(A1:A20, B1:B20, “>0”, C10:C30, “<10”)แปลว่า ให้บวกเลขในช่อง A1:A20 โดยที่· ในช่อง B1:B20 ที่จับคู่กับ A นั้นจะต้อง >0 และ ในช่อง C1:C20 ที่จับคู่กับ A ต้อง < 10 |
MOD | หาเศษเหลือจากการหารตัวนี้ดูเผินๆ เหมือนจะไม่ค่อยได้ใช้งาน แต่จริงๆ แล้วฟังก์ชั่นนี้มีประโยชน์ที่โดดเด่น เช่น การมีเงื่อนไขที่จะทำอะไรบางอย่างทุกๆ x ช่อง (หารด้วย x ลงตัว) | =MOD(number, divisor) =MOD(10,7) ได้ผลลัพธ์เป็นเลข 3 เพราะ เอา 10 หารด้วย 7 ได้ 1 เหลือเศษ 3=MOD(8,2) ได้ผลลัพธ์เป็นเลข 0 เพราะ เอา 8 หารด้วย 2 ได้ 4 เหลือเศษ 0 |
SUMPRODUCT | ให้เอาเลข 2 ชุดมาคูณกันตามคู่ลำดับแล้วหาผลรวมภายหลัง | =SUMPRODUCT(array1, [array2], [array3], …) =SUMPRODUCT(A1:A10,B1:B10)แปลว่า ให้บวกเลขในช่อง A1*B1 + A2*B2+…A10*B10 |
RAND | สุ่มตัวเลขที่อยู่ระหว่าง 0 ถึง 1 (ทศนิยม 15 หลัก เรียกได้ว่าเลชที่สุ่มออกมาแต่ละทีไม่น่าจะซ้ำกันหรอกครับ) |
=RAND() มันจะออกมาเป็นเลขระหว่าง 0 ถึง 1 โดยที่เลขจะเปลี่ยนไปทุกครั้งที่มีการคำนวณใหม่ (กด F9 ได้)* ตัวนี้ไม่มี Argument |
ฟังก์ชั่นตัวอื่นๆ ที่ใช้บ่อยในหมวดหมู่นี้
- SUBTOTAL หาผลรวมในรูปแบบต่างๆ เช่น SUM, MAX แต่จะรวมเฉพาะตัวที่ไม่ถูก Filter ทิ้ง
- AGGREGATE จะ Advance กว่า SUBTOTAL ไปอีกขั้น โดยเลือก Option ได้เยอะกว่า
- RANDBETWEEN ทำการสุ่มเลขเป็นจำนวนเต็มในขอบเขตที่กำหนด
- GCD = หาตัวหารร่วมที่มากที่สุด ( ห.ร.ม.) / LCM = หาตัวคูณร่วมที่น้อยที่สุด (ค.ร.น.)
- PRODUCT = หาผลคูณของเลขทุกตัวที่อยู่ใน Range ที่เลือกไว้
- FACT = หาเลข Factorial คือผลคูณแบบไล่ค่าลดลงเรื่อยๆจนถึงเลข 1 เช่น FACT(4)= 4*3*2*1 เป็นต้น มันใช้มากในเรื่องทฤษฎีการนับ และ ความน่าจะเป็น
Statistical : สถิติ
ฟังก์ชั่น | หน้าที่ | คำสั่ง/ตัวอย่างการใช้งาน |
COUNT | นับจำนวนช่องที่เป็นตัวเลขใน Range ที่เลือกไว้ | =COUNT(value1, [value2], …) =COUNT(A1:A10) จะนับว่าในช่อง A1 ถึง A10 มีช่องที่เป็นตัวเลขกี่ช่อง |
COUNTA | นับจำนวนช่องที่ไม่ว่างเปล่าใน Range ที่เลือกไว้ | =COUNTA(value1, [value2], …) =COUNTA(A1:A10) จะนับว่าในช่อง A1 ถึง A10 มีช่องที่ไม่ว่างเปล่ากี่ช่อง |
AVERAGE | หาค่าเฉลี่ยจากตัวเลขใน Range ที่เลือกไว้ โดยที่จะไม่คิดค่าว่างเปล่า | =AVERAGE(number1, [number2], …) =AVERAGE(A1:A10) จะหาค่าเฉลี่ยของตัวเลขในช่วง A1 ถึง A10 โดยที่จะไม่คิดค่าว่างเปล่า |
MAX / MIN | หาค่าที่มากที่สุด / น้อยที่สุดจากตัวเลขใน Range ที่เลือกไว้ | =MAX(number1, [number2], …) =MAX(A1:A10) หาค่ามากที่สุดในช่วง A1 ถึง A10 =MIN(number1, [number2], …) =MIN(A1:A10) หาค่าน้อยที่สุดในช่วง A1 ถึง A10 |
LARGE / SMALL | หาค่าที่มาก / น้อย เป็นลำดับที่ xx จากตัวเลขใน Range ที่เลือกไว้ แปลว่าใช้แทน MAX/MIN ก็ได้ | =LARGE(array, k) =LARGE(A1:A10,3) แปลว่าหาค่าที่มากที่สุดเป็นลำดับที่ 3 (ระบุที่ k) จากช่วง A1 ถึง A10 |
ฟังก์ชั่นตัวอื่นๆ ที่ใช้บ่อยในหมวดหมู่นี้
- MODE หาค่า ฐานนิยม หรือ ค่าที่เกิดขึ้นบ่อยที่สุด (นิยม)
- MEDIAN หาค่า มัธยฐาน หรือ ค่าที่อยู่ตำแหน่งกึ่งกลาง เมื่อเรียงค่าจากน้อยไปมาก
- PERCENTILE หาค่าที่อยู่ตำแหน่งที่ xxx % เมื่อเรียงค่าจากน้อยไปมาก
- RANK หาว่าเลขที่เราสนใจ มีค่ามากหรือน้อยเป็นอันดับที่เท่าไหร่ใน Range ที่กำหนด
Date & Time : วันที่และเวลา
ฟังก์ชั่น | หน้าที่ | ตัวอย่างการใช้งาน |
YEAR | หาว่าวันทีที่ต้องการเป็นปี ค.ศ. อะไร | =YEAR(serial_number) |
MONTH | หาว่าวันทีที่ต้องการเป็นเดือนลำดับที่เท่าไหร่ (1-12) | =MONTH(serial_number) |
DATEVALUE | แปลงค่าจากวันที่ในรูปแบบ Text ให้เป็นวันที่จริงๆ | =DATEVALUE(date_text) |
DATE | แปลงค่าจากตัวเลข 3 ชุด ปี เดือน วัน ให้กลายเป็นวันที่ | =DATE(year,month,day) |
EDATE | หาว่าจากวันที่กำหนด ถัดไป/ย้อนกลับ อีก xx เดือนจะกลายเป็นวันที่เท่าไหร่ | =EDATE(start_date, months) |
NETWORKDAYS | หาเวลาทำงาน ระหว่างวันสองวันที่กำหนด โดยไม่นับวันหยุด | =NETWORKDAYS(start_date, end_date, [holidays]) |
DATEDIF | ใช้หาว่าวันสองวันที่กำหนด ห่างกันกี่วัน กี่เดือน หรือ กี่ปี (เราเลือกได้)*ฟังก์ชั่นนี้ไม่มี Help บอกใน Excel | =DATEDIF( start_date, end_date, interval) |
WEEKDAY | หาว่าวันที่ที่ต้องการเป็นวันอะไรของสัปดาห์ ( จ อ พ พฤ ศ ส อา) โดยจะให้ค่ากลับมาเป็นตัวเลข |
ฟังก์ชั่นตัวอื่นๆ ที่ใช้บ่อยในหมวดหมู่นี้
- WORKDAY คล้ายกับ NETWORKDAYS แต่จะทำกลับกัน คือ รู้วันเริ่มต้น และระยะเวลาวันทำงาน จากนั้นค่อยหาว่าวันปลายทางจะเสร็จวันไหน
- WEEKNUM หาว่าวันที่นั้นๆ ตรงกับสัปดาห์ที่เท่าไหร่ของปีนั้น
Logical : ตรรกะฟังก์ชั่นตัวอื่นๆ ที่ใช้บ่อยในหมวดหมู่นี้
ฟังก์ชั่นตัวอื่นๆ ที่ใช้บ่อยในหมวดหมู่นี้
- IFERROR เป็นลูกผสมระหว่าง IF และ ISERROR โดยจะสามารถกำหนดได้ว่า หาก Error จะให้ทำอะไร
Text : ข้อความ
ฟังก์ชั่น | หน้าที่ | ตัวอย่างการใช้งาน |
LEN | นับจำนวนตัวอักษรของคำที่เลือก โดยนับทั้ง space สระ วรรณยุกต์ด้วย | =LEN(text)=LEN(“very มั่นใจ”) จะได้ 11 |
LEFT / RIGHT | ตัดตัวหนังสือที่กำหนดจากทาง ซ้าย/ขวา ด้วยระยะจำนวนตัวอักษรที่กำหนด | =LEFT(text, [num_chars]) =LEFT(“สนุกจัง”,2) =”สน”=RIGHT(text, [num_chars])=RIGHT(“สนุกจัง”,3) =”จัง” |
TRIM | ตัดช่องว่างที่อยู่หน้าและหลังคำออกทั้งหมด รวมถึงช่องว่างตรงกลางที่เกิน 1 เคาะด้วย | =TRIM(text)=TRIM(” inw excel “) จะได้ออกมาเป็น “inw excel” (เหลือช่องว่างกลาง 1 space) |
FIND | หาว่าคำที่ต้องการค้นหา อยู่เป็นตัวอักษรลำดับที่เท่าไหร่ของคำที่กำหนด สนใจ ตัวพิพม์เล็กพิมพ์ใหญ่ | =FIND(find_text, within_text, [start_num])=FIND(“Excel”,”inwexcel is Excellent”) =13 |
SEARCH | หาว่าคำที่ต้องการค้นหา อยู่เป็นตัวอักษรลำดับที่เท่าไหร่ของคำที่กำหนด ไม่สนใจ ตัวพิพม์เล็กพิมพ์ใหญ่ และใช้เครื่องหมาย Wildcard ได้ | =SEARCH(find_text,within_text,[start_num])=SEARCH(“Excel”,”inwexcel is Excellent”) =4 |
SUBSTITUTE | แทนที่คำที่ต้องการด้วยอีกคำหนึ่ง ใช้เมื่อรู้คำที่จะถูกแทนที่ | =SUBSTITUTE(text, old_text, new_text, [instance_num]) =SUBSTITUTE(“ผม like มาก”,”like”,”ชอบ”) = “ผม ชอบ มาก” |
REPLACE | แทนที่ตำแหน่งที่ต้องการด้วยอีกคำหนึ่ง ใช้เมื่อรู้ตำแหน่งและจำนวนตัวอักษรที่จะถูกแทนที่ | =REPLACE(old_text, start_num, num_chars, new_text) =REPLACE(“081-234-5678”,5,3, “ไม่บอก”) = “081-ไม่บอก-5678” |
TEXT | เปลี่ยน Number Format ของตัวเลขด้วยการใช้สูตร | =TEXT(value, format_text) ในช่อง format_text ให้ใส่รูปแบบคล้ายการทำ Custom Format ซึ่งจะอธิบายต่อไปในบทหลัง =TEXT(1234.5678,”0.00″)= “1234.57” |
ฟังก์ชั่นตัวอื่นๆ ที่ใช้บ่อยในหมวดหมู่นี้
- REPEAT ใส่ตัวอักษรซ้ำๆ ลงไปด้วยจำนวนที่กำหนด
- CLEAN ทำการลบตัวอักษรประหลาดๆ ที่พิมพ์ไม่ออก
Lookup & Reference: การดึงข้อมูลและการอ้างอิง
ในนี้จะเป็นตารางสรุปคร่าวๆ เท่านั้น รายละเอียดจะอยู่บทถัดๆไปครับ เพราะส่วนใหญ่ฟังก์ชั่นในหมวดนี้ถือว่าใช้งานยากกว่าหมวดอื่นๆ เกือบทุกตัว จึงต้องขอยกไปพูดทีหลัง
ฟังก์ชั่น | หน้าที่ | ตัวอย่างการใช้งาน |
VLOOKUP | ค้นหาคำที่ต้องการในแนวดิ่งของคอลัมน์แรกในตารางอ้างอิง เมื่อเจอแล้วจากนั้นมองไปทางขวาเอาข้อมูลในคอลัมน์ที่กำหนดกลับมา | =VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])รออ่านรายละเอียดในบทถัดๆไป |
MATCH | ค้นหาคำที่ต้องการว่าอยู่ลำดับที่เท่าไหร่ของช่วงที่กำหนด | =MATCH(lookup_value, lookup_array, [match_type])รออ่านรายละเอียดในบทถัดๆไป |
INDEX | ส่ง Cell Reference หรือค่าใน Cell Reference ตามพิกัดแถว & คอลัมน์ที่กำหนด จากตารางอ้างอิงที่กำหนด | =INDEX(array, row_num, [column_num])=INDEX(reference, row_num, [column_num], [area_num])รออ่านรายละเอียดในบทถัดๆไป |
INDIRECT | เปลี่ยน Text เป็น Cell Reference | =INDIRECT(ref_text, [a1])รออ่านรายละเอียดในบทถัดๆไป |
OFFSET | เลื่อนตำแหน่งจากช่องที่เราอ้างอิงไปในทิศทางต่างๆ แล้วส่งCell Reference หรือค่าใน Cell Reference กลับมา | =OFFSET(reference, rows, cols, [height], [width])รออ่านรายละเอียดในบทถัดๆไป |
CHOOSE | เลือกว่าจะใช้การคำนวณชุดไหน เช่น ชุดที่ 1, 2, 3, 4 | =CHOOSE(index_num, value1, [value2], …)=CHOOSE(3,A1+2,A1*3,A1/A2)เลือกเอาสูตรชุดที่ 3 มาใช้ นั่นคือ=A1/A2 |
ฟังก์ชั่นตัวอื่นๆ ที่ใช้บ่อยในหมวดหมู่นี้
- ROW หาว่าแถวของ Cell ที่กำหนดอยู่แถวที่เท่าไหร่
- COLUMN หาว่าแถวของ Cell ที่กำหนดอยู่คอลัมน์ที่เท่าไหร่
- ROWS หาว่า Range ที่กำหนดมีกี่แถว
- COLUMNS หาว่า Range ที่กำหนดมีกี่คอลัมน์
Financial : การเงิน
ฟังก์ชั่น | หน้าที่ | ตัวอย่างการใช้งาน |
PV | หาค่า Present Value (หา มูลค่าปัจจุบัน จาก Cash flow ในอนาคต) |
=PV(rate, nper, pmt, [fv], [type])รออ่านรายละเอียดในบทถัดๆไป |
FV | หาค่า Future Value (หา มูลค่าอนาคต จาก Cash flow ในปัจจุบัน) |
=FV(rate,nper,pmt,[pv],[type])รออ่านรายละเอียดในบทถัดๆไป |
NPV | หาค่า Net Present Value ซึ่งก็คือ การคิดมูลค่าลงทุนสุทธิ จาก Cashflow ในอนาคตทั้งหมด มารวมไว้ ณ เวลาปัจจุบัน |
=NPV(rate,value1,[value2],…)ค่า Cash flow ที่ใส่ไปต้องเริ่มที่ Period 1 ไม่ใช่ Period 0รออ่านรายละเอียดในบทถัดๆไป |
IRR | หาค่า Internal Rate of Return ซึ่งก็คือค่า ดอกเบี้ย หรือ Discount Rate ที่ทำให้ NPV =0 พอดี | =IRR(values, [guess])รออ่านรายละเอียดในบทถัดๆไป |
PMT | หาว่า ต้องผ่อนเงินกู้ งวดละเท่าๆ กัน งวดละกี่บาท จึงจะหมดพอดีในระยะเวลาที่กำหนด | =PMT(rate, nper, pv, [fv], [type])รออ่านรายละเอียดในบทถัดๆไป |
ฟังก์ชั่นตัวอื่นๆ ที่ใช้บ่อยในหมวดหมู่นี้
- NPER
- RATE
Information : ข้อมูล
ฟังก์ชั่น | หน้าที่ | ตัวอย่างการใช้งาน |
IS….มีหลายตัว เช่น
|
ตรวจสอบว่าเป็นค่าประเภทที่ต้องการหรือไม่ โดยแสดงค่ากลับมาเป็น TRUE/FALSE เช่น
|
=ISERROR(value)=ISERROR(1000/0)=TRUE |
TYPE | ใช้ตรวจสอบว่าช่องที่กำหนดมีข้อมูลเป็นประเภทอะไร ค่าที่ได้กลับมาเป็นตัวเลข ซึ่งแต่ละรหัสมีความหมายดังนี้
ตรงนี้จะมีประโยชน์ตรงที่เอาไว้เช็คประเภทของข้อมูลว่าเป็นประเภทที่เราต้องการรึเปล่า เวลานำไปใช้ในการเขียนสูตรต่างๆ |
=TYPE(value)ถ้า A1 มีคำว่า cat=TYPE(A1)=2 |
ฟังก์ชั่นตัวอื่นๆ ที่ใช้บ่อยในหมวดหมู่นี้
- CELL ใช้ตรวจสอบข้อมูลในช่องที่กำหนด เช่น Number Format, สี, ชื่อไฟล์, ประเภทข้อมูล, ตำแหน่ง cell และอื่นๆอีกมากมาย
Leave a Reply