DirectionSelect

เคล็ดลับการใช้เมาส์เลือกพื้นที่ตาราง … แบบปกติคนธรรมดาทั่วไป

DirectionSelect

ทราบหรือไม่ว่าถ้าเลือกพื้นที่จากเซลล์บนซ้ายลงมาทางขวาตามภาพซ้ายบนเท่านั้นที่จะทำให้ใช้กับคำสั่ง Data Validation กับ Conditional Formatting แล้วจึงจะทำงานร่วมกับเครื่องหมาย $ ในสูตรเงื่อนไขที่ทำไว้ได้ถูกต้อง

วิธีการแบบนี้จะช่วยทำให้ใช้คำสั่งดังกล่าวได้ทั้งตารางโดยทำเพียงครั้งเดียว ไม่ต้องทะยอยทำทีละแถวตั้ง

DirectionSelect2

จากภาพที่สอง ใช้ Conditional Formatting ช่วยแสดงสีรายการที่ต้องการว่าอยู่ตรงไหน

เริ่มจากเลือกพื้นที่ตารางเฉพาะส่วนของรายการทั้งหมด ตั้งแต่ B3:E20 แล้วสั่ง Home > Conditional Formatting > New Rule โดยเลือกใช้เงื่อนไขแบบ Use a formula to determine which cells to format แล้วใช้สูตร =$C3=$G$3

หลักสูตรอะรูก็ไม่ไร้

= หลักสูตรอะไรก็ไม่รู้

https://www.facebook.com/ExcelExpertTraining/posts/2568332380103231

(คลิกติดตาม follow ไว้ด้วย)

ช่วง WFH นี้ไม่ได้ไปไหน เปิดเทอมหรือกลับไปทำงานเมื่อไหร่ เรามาเตรียมตัวใช้ Excel ให้พร้อมกันดีไหมครับ ช่วงที่ผ่านมาผมได้นำเสนอ “หลักสูตรอะรูก็ไม่ไร้” มาพักหนึ่งแล้ว เชิญเรียนรู้ตามลำดับต่อไปนี้

วิธีเตรียมจอกับเตรียมเมนู
https://www.facebook.com/ExcelExpertTraining/posts/2565455337057602

วิธีจับ Cursor ให้เลิกดิ้นลงมา
https://www.facebook.com/ExcelExpertTraining/posts/2566272570309212

วิธีบันทึกข้อมูล
https://www.facebook.com/ExcelExpertTraining/posts/2566614793608323

วิธีบันทึกข้อมูลตามลำดับเซลล์ที่ต้องการ
https://www.facebook.com/ExcelExpertTraining/posts/2567418830194586

ICO และกฎ 3 ข้อของตารางฐานข้อมูล
https://www.facebook.com/ExcelExpertTraining/posts/2568318980104571

การจัดเตรียมพื้นที่ ICO เพื่อรับข้อมูลและป้องกันการแก้ไข
https://www.facebook.com/ExcelExpertTraining/posts/2569126723357130

ปุ่มบนแป้นพิมพ์ที่ใช้ในการเลือกพื้นที่ตาราง
https://www.facebook.com/ExcelExpertTraining/posts/2574785689457900?__tn__=K-R

วิธีตรวจสอบความถูกต้องของข้อมูล
https://www.facebook.com/ExcelExpertTraining/posts/2570134469923022?__tn__=K-R

วิธีรับมือกับเซลล์ว่าง vs เซลล์เลข 0
https://www.facebook.com/ExcelExpertTraining/posts/2571542639782205

โฉบไปดูความลับของสูตร SumProduct
https://www.facebook.com/ExcelExpertTraining/posts/2572064573063345
https://www.facebook.com/ExcelExpertTraining/posts/2573561042913698

ธรรมชาติของสูตร
https://www.facebook.com/ExcelExpertTraining/posts/2573912089545260

เรื่องสั้นๆของ “IF = ถ้า” ที่ไม่ใช่สูตร IF
https://www.facebook.com/ExcelExpertTraining/posts/2574829476120188

============================

ของขวัญวันสงกรานต์ 2563
https://www.facebook.com/ExcelExpertTraining/posts/2575250999411369

แจกแฟ้มรวมสูตร Excel
https://www.facebook.com/ExcelExpertTraining/posts/2578063205796815

xlfdic01

แจกแฟ้มรวมสูตร Excel

Peter Noneley เป็นผู้รวบรวมสูตร Excel ทั้งหมดมาทำเป็นคู่มือการใช้งานพร้อมมีตัวอย่างแต่ละสูตรไว้เรียบร้อย ซึ่งบางสูตรเขาไม่มีความรู้จึงขอความช่วยเหลือจากคนทั้งโลกให้ช่วยกันแนะนำ

ในแฟ้ม zip นี้มีแฟ้มที่สร้างไว้ 2 รุ่น ชื่อ xlfdic01 กับ xlfdic03 โดยรุ่นแรกใช้ VBA ช่วยในการคลิกที่ชื่อสูตรแล้วพาไปที่ชีทตัวอย่าง ส่วนในแฟ้มรุ่น 03 ใช้เพียง HyperLink ช่วยนำไปยังชีทตัวอย่างโดยไม่ได้ใช้ VBA แม้แต่น้อย เป็นวิธีการที่น่าสนใจมาก (น่าเสียดายที่ผมหาแฟ้มรุ่น 02 ไม่เจอ)

xlfdic01

xlfdic03

ผมได้อีเมลไปขออนุญาต Peter Noneley เพื่อนำมาแจกให้กับคนไทยได้ใช้กันนานมาแล้วครับ เชื่อว่าอาจจะนานหลายปีก่อนหลายคนเกิดเสียด้วยซ้ำแต่สูตรก็ยังคงใช้ได้อยู่

เชิญ download Zip ได้จาก
https://drive.google.com/open?id=16XoxZMlaSe8tjJ5yXWpnyZ93b27MGbIJ

Download แฟ้มที่ใช้ VBA ช่วยในการไปดูตัวอย่าง ได้จาก
http://excelexperttraining.com/download/xlfdic01.xls

หรือแฟ้มที่ไม่ได้ใช้ VBA จาก
http://excelexperttraining.com/download/XLFDIC03.xls

 

เรื่องสั้นๆของ “IF = ถ้า” ที่ไม่ใช่สูตร IF

(ถ้ามี “แต่” อะไรๆที่เป็นข้อแม้ ขอข้ามไปก่อน)

ถ้าอยากจะทำให้ Excel ทำงานใหม่เองโดยอัตโนมัติ ต้องใช้สูตร อย่าสร้างงานโดยใช้คำสั่งบนเมนูที่ต้องสั่งใหม่เอง

ถ้าอยากจะทำให้ใช้งาน Excel ได้ง่าย ตัวเลขที่บันทึกต้องมีสถานะเป็นตัวเลขอย่างแท้จริง

ถ้าไม่อยากสะกดผิดหรือสะกดไม่เหมือนเดิม ห้ามบันทึกข้อมูลอะไรซ้ำ ให้พิมพ์ข้อมูลเพียงครั้งเดียว พอจะใช้ซ้ำให้ลิงก์ข้อมูลไปใช้

ถ้าพิมพ์หรือกรอกอะไรลงไปในเซลล์แล้วชิดซ้าย แสดงว่ามีสถานะเป็น Text

ถ้าพิมพ์หรือกรอกอะไรลงไปในเซลล์แล้วชิดขวา แสดงว่ามีสถานะเป็น Number

ถ้าพิมพ์หรือกรอกวันเดือนปีลงไปในเซลล์แล้วชิดขวา แสดงว่าเอาค่าในเซลล์นั้นไปใช้ต่อในการคำนวณได้ แต่ถ้าชิดซ้ายแสดงว่า Excel ไม่รับรู้ว่าเป็นวันที่แต่ถือว่าเป็น Text

ถ้าอยากจะใช้คำสั่ง Data บนเมนู ต้องเก็บข้อมูลแต่ละเรื่องไว้ในแนวตั้งตามแนว column

ถ้าอยากจะใช้ Pivot Table ต้องใช้กับตารางที่เก็บข้อมูลแต่ละเรื่องไว้ในแนวตั้งตามแนว column และมีชื่อเรื่องกำกับไว้บนหัวตาราง

ถ้าอยากดูตัวเลขรายละเอียดแต่ละรายการของยอดรวม ต้องใช้คำสั่ง Data SubTotal แทน Pivot Table

ถ้าอยากให้แฟ้มที่มีสูตรเยอะๆคำนวณเร็วขึ้น ต้องเปลี่ยนไปใช้ Manual Calculation

ถ้าอยากจะลดขนาดแฟ้ม ให้จัดเก็บแฟ้มแบบ Binary ซึ่งมีนามสกุล xlsb

ถ้าต้องสร้างสูตรอ้างถึงพื้นที่เดิมซ้ำๆ ให้ใช้ Range Name ช่วยแทนการอ้างถึงตำแหน่งเซลล์โดยตรง

ถ้าอยากจะทำให้ตัวเลข 0 หายไปจากหน้าจอ ต้องใช้ Format 0;-0;

ถ้าอยากจะควบคุมให้กรอกข้อมูลได้ถูกต้อง ต้องใช้ Data Validation

ถ้าอยากจะเปลี่ยนสีพื้นและตัวอักษรตามเงื่อนไข ต้องใช้ Conditional Formatting

ถ้าอยากจะ copy เซลล์สูตรไปใช้ที่อื่น ต้องรู้จักการใส่เครื่องหมาย $

ถ้าอยากจะ copy เซลล์สูตรไปใช้ที่ชีทอื่น ให้ paste ลงที่เซลล์ตำแหน่งเดียวกันเสมอ

ถ้าอยากจะทำให้สูตร IF ช่วยในการตัดสินใจได้ถูกต้อง ต้องใช้สูตร Round, Trunc, Int มาช่วยก่อนจะใช้สูตร IF

ถ้าอยากทำให้ Excel ทำงานเร็วขึ้น ต้องปรับปรุงวิธีใช้งานของมนุษย์ให้เสียเวลาใช้ Excel ลดลง

ถ้าคิดจะใช้ VBA โครงสร้างของแฟ้มต้องมีมาตรฐานก่อน

ถ้าโครงสร้างของแฟ้มมีการเปลี่ยนแปลง VBA ที่สร้างไว้อย่างดีต้องสามารถใช้งานต่อไปได้โดยไม่จำเป็นต้องแก้ไขรหัสใหม่

ถ้าอยากจะเก่งสูตร Excel ต้องทดลองจากโจทย์ง่ายๆให้คล่องก่อน

ถ้าโครงสร้างตารางยังไม่นิ่ง ใช้สูตร SubTotal จะยืดหยุ่นกว่าสูตร Sum

ถ้าไม่จำเป็น อย่าใช้สูตร IF แก้ที่ปลายเหตุ ให้ป้องกันที่ต้นทางแทน

ถ้าอยากได้คำแนะนำจากคนอื่น อวดโง่ดีกว่าอวดฉลาด เรื่องที่ไม่เคยรู้จะได้รู้ เรื่องที่รู้แล้วจะได้รู้ชัดเจนขึ้น

ถ้าแฟ้มนั้นสร้างเองใช้เองคนเดียว จะใช้อะไรแบบไหนเชิญตามสบาย

ถ้าเป็นแฟ้มที่ใช้ร่วมกันหลายคน อะไรที่ใช้เองดูเองคนเดียวควรแก้กลับก่อนส่งแฟ้มให้คนอื่นใช้ต่อ ไม่ควรทิ้งการใช้คำสั่งเหล่านี้ไว้ เช่น Filter, Table, Precision as Displayed, Manual Calculation, Iterative Calculation

ถ้าไม่อยากสร้างความผิดหวัง อย่ายกยอหรือชมตัวเอง เรื่องนี้ควรปล่อยให้คนอื่นเป็นคนชมหรือออกมาพูดแทน

SumProductTrickAns

โฉบไปดูความลับของสูตร SumProduct (ตอนที่ 2)

แทนการใช้เครื่องหมายคอมมา ให้เปลี่ยนไปใช้เครื่องหมายคูณแทน สูตร SumProduct จะกลายเป็นสูตรที่หาคำตอบที่นึกไม่ถึงว่าจะทำได้มาก่อน

จากเดิมที่มีเงื่อนไขว่ามิติต้องเท่ากัน เพียงแค่ขอให้มีด้านใดด้านหนึ่งของมิติเท่ากันก็เพียงพอแล้ว

BranchNum
=Sheet1!$B$4:$B$14
พื้นที่แนวตั้ง

Date
=Sheet1!$C$3:$Q$3
พื้นที่แนวนอน

Data
=Sheet1!$C$4:$Q$14
พื้นที่สี่เหลี่ยมผืนผ้าขนาดเท่ากับแนวตั้งxแนวนอน

SumProductTrickAns

จากตารางในภาพนี้เป็นยอดสินค้า รายวันของแต่ละสาขา
1. หายอดรวมของทุกสาขาในวันที่ต้องการ
2. หายอดรวมของทุกวันของสาขาที่ต้องการ
3. หายอดรวมของสาขาหนึ่งๆในช่วง 7 วัน
4. หายอดรวมทีละ 5 สาขาในช่วงระหว่างวันที่เท่าใดก็ได้

SumProductTrickAnsFML

Download ตัวอย่างได้จาก
https://drive.google.com/open?id=1p1Sl4Eg7obm4T3emYgNv_QppQrGQ7KxL

หมายเหตุ

ตามปกติโครงสร้าง (Syntax) ของสูตรนี้

=SUMPRODUCT(array1, [array2], [array3], …)

หากใช้เครื่องหมายคอมมา ,,, จะมีข้อแม้สำคัญว่า The array arguments must have the same dimensions. หรือขนาดของพื้นที่อ้างอิงต้องมีมิติหรือขนาดเท่ากัน

SumProductSameDimension

โฉบไปดูความลับของสูตร SumProduct

Sum แปลว่าบวก Product แปลว่าอะไร

คำว่า Product ไม่ได้แปลว่าผลิตภัณฑ์ แต่เป็นภาษาคณิตศาสตร์แปลว่า คูณ

ดังนั้น SumProduct แปลว่า ผลรวมของผลคูณ

โครงสร้าง (Syntax) ของสูตรนี้
=SUMPRODUCT(array1, [array2], [array3], …)

คำว่า array หมายถึง อะไรก็ตามที่มีตั้งแต่ 2 เซลล์หรือ 2 ค่าขึ้นไป

ส่วนที่อยู่ในวงเล็บ [ ] เช่น [array2], [array3], นั้นแสดงว่า ไม่จำเป็นต้องใส่ลงไปในสูตรก็ได้ถือว่าเป็น Optional โดยอย่างน้อยสูตรนี้ต้องมี array1 ใส่ไว้ แต่อย่างไรก็ตามหากต้องการหาผลรวมของผลคูณ ต้องมี array1 กับ array2 เช่น ในภาพแรก

SumProductSameDimension

=SUMPRODUCT(C2:C10,D2:D5)

ขั้นแรกสูตรนี้จะนำแต่ละเซลล์ใน C2:C10 มาคูณกับแต่ละเซลล์ใน D2:D5 ตามลำดับ
C2*D2
C3*D3
C4*D4
C5*D5

จากนั้นจึงนำผลคูณที่ได้ทั้งหมดมารวมกันเป็นคำตอบ

สูตรนี้จึงช่วยลัดหาคำตอบไม่ต้องเสียเวลาไปสร้างสูตรคูณกันทีละขั้นแล้วค่อยเอามาบวกรวมกันทีหลัง ซึ่งเปลืองสูตรเปลืองเซลล์หลายเซลล์กว่าจะทำงานครบวงจร

ข้อแม้สำคัญที่ทำให้สูตรนี้ทำงานได้ ถ้าไม่สังเกตให้ดีจะถูกมองข้ามไปตลอดอยู่ตรงเครื่องหมาย comma ซึ่ง Excel มีข้อแม้สำคัญว่า The array arguments must have the same dimensions.

ถ้าใส่เครื่องหมาย comma ,,, เมื่อไหร่ เมื่อนั้นพื้นที่ตารางที่ใส่ไว้ในสูตรนี้(หรือสูตรอื่นๆที่ทำงานคล้ายกัน) ต้องมีขนาดหรือมิติเท่ากันเสมอ โดยหารู้ไม่ว่าสามารถใช้เครื่องหมายคูณ * ใส่แทนได้ด้วย

SumProduct2Types

จากเดิม
=SUMPRODUCT(Cost,Quantity)
แก้เป็น
=SUMPRODUCT(Cost*Quantity)

พอใช้เครื่องหมายคูณ สูตร SumProduct จะกลายเป็นสูตรที่ทำงานได้แบบพิสดารทันที

… โปรดติดตามตอนต่อไป

Blank

วิธีรับมือกับเซลล์ว่าง vs เซลล์เลข 0

Blank 

ภาพนี้เป็นตารางฐานข้อมูล มีเซลล์ D4 กับ D6 เป็นเซลล์ว่าง ซึ่งว่างในที่นี้หมายถึงว่างจริงๆ ไม่มีอะไรกรอกไว้หรือบันทึกไว้ในเซลล์เหล่านี้เลย คุณควรทำอย่างไรกับเซลล์ที่ว่างๆแบบนี้

1. ปล่อยให้ว่างไว้ตามเดิม หรือ
2. กรอกเลข 0 ลงไป หรือ
3. ใส่คำว่า NA ย่อมาจากคำว่า Not Available

ถ้าปล่อยให้ว่างไว้หรือใส่คำว่า NA
สูตรหาค่าต่ำสุด =Min(D3:D7) หรือ =Min(Amount)
จะได้คำตอบเป็นเลข 10

ถ้าพิมพ์เลข 0 ลงไป สูตร Min จะได้คำตอบเท่ากับ 0

ทราบแบบนี้แล้ว ไม่ควรใส่เลข 0 ลงไปในเซลล์ว่างเพราะจะทำให้หายอดต่ำสุดไม่ได้ จะหาคำตอบเป็น 0 เสมอ

… แล้วถ้าจำเป็นต้องใส่เลข 0 หรือเป็นตารางคำนวณที่ลิงก์ค่ามาอีกทีซึ่งย่อมได้เลข 0 จะหายอดต่ำสุดที่ไม่ใช่เลข 0 ต้องใช้สูตรแบบนี้แทน

Blank0MinIF

{=Min(IF(Amount>0,Amount))}
กดปุ่ม Ctrl+Shift+Enter เพื่อสร้างสูตรนี้แบบ array ที่มี {} ปิดหัวท้ายสูตร

(หากใช้ Excel 2019 หรือ 365 สามารถใช้สูตร MinIFS แต่ถ้าใช้สูตรนี้ต้องห้ามส่งแฟ้มไปให้คนที่ใช้ Excel รุ่นเก่า)

หลักการใช้ Excel ที่ดี คือ อย่าโกหก

  • หากไม่เคยมีค่า ให้ปล่อยว่างไว้
  • หากมีค่าเท่ากับ 0 ให้ใส่เลข 0
  • หากเคยทีค่าแต่ตอนนี้ยังหาค่าไม่ได้ ให้ใส่ NA
INputSteps

วิธีจัดลำดับการบันทึกข้อมูล

หากต้องการบันทึกข้อมูลลงไปในเซลล์ตามลำดับตัวเลขที่เห็น … Range Name เป็นสิ่งที่ช่วยได้

INputSteps

ให้เริ่มจากคลิกเลือกเซลล์ B7 จากนั้นกดปุ่ม Ctrl แล้วคลิกเลือกเซลล์ D2, D7, B2 แล้วตั้งชื่อ Range Name ให้กับเซลล์เหล่านี้ เช่นตั้งชื่อว่า MyInput

เคล็ดลับนี้เป็นเรื่องที่ผมค้นพบ ไม่เคยเห็นใครที่ไหนทำได้มาก่อน โดยมีประเด็นสำคัญอยู่ที่ตอนที่คลิกเลือกเซลล์ที่ต้องการจะตั้งชื่อให้นั้น ให้เลือกเซลล์ตำแหน่งที่ 2, 3, 4, 1 โดยเลือกเซลล์ตำแหน่งแรก B2 เป็นเซลล์สุดท้ายแล้วจึงตั้งชื่อ Range Name

เริ่มบันทึกข้อมูลโดยกดปุ่ม F5 หรือเลือกชื่อ Range Name ที่ตั้งชื่อว่า MyInput เพื่อให้ Excel เลือกพื้นที่ตารางหลายเซลล์นั้นให้ก่อน จากนั้นให้พิมพ์ค่าที่ต้องการแล้วกด Enter ไปเรื่อยๆ Excel จะบันทึกข้อมูลลงไปในเซลล์ B2 > B7 > D2 > D7

Download ตัวอย่างได้จาก
https://drive.google.com/open?id=1vHqy4MYQb6Gr7ZKIjppMgOviPSdIVFae


Range Name สามารถตั้งชื่อให้กับเซลล์หลายเซลล์ที่ไม่ต้องเป็นพื้นที่เซลล์ที่ต่อเนื่องกันได้ด้วย โดยในตัวอย่างนี้เมื่อตรวจสอบดูที่เมนู Formulas > Name Manager จะพบชื่อ MyInput โดยมี Refers to
=Sheet1!$B$7,Sheet1!$D$2,Sheet1!$D$7,Sheet1!$B$2

ที่แปลกกว่านั้นเมื่อกดปุ่ม F5 ไปที่ MyInput แล้ว Excel จะไม่แสดงชื่อ MyInput ให้เห็นในช่อง Name Box