362
1 Copyright of www.ExcelExpertTraining.com ฉลาดใช สารพัดสูตร Excel อย่างมืออาช โดย สมเกียรติ ฟุ ้งเกียรติ www.ExcelExpertTraining.com www.XLSiam.com [email protected] โทร 02 718 9331 Fax 02 318 7021 สงวนลิขสิทธิ์ตามกฎหมาย 17 เมษายน 2555

อยางม่ออาชื พี - In House - Homeexcelexperttraining.com/download/xlformula2015.pdf · ใน Excel 2010 ก็มุ่งปรับปรุงใหม้ีความละเอ

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

 

Copyright of www.ExcelExpertTraining.com 

ฉลาดใชสารพดสตร Excel

อยางมออาชพ

โดย

สมเกยรต ฟงเกยรต

www.ExcelExpertTraining.com

www.XLSiam.com

[email protected]

โทร 02 718 9331 Fax 02 318 7021

สงวนลขสทธตามกฎหมาย

17 เมษายน 2555

 

Copyright of www.ExcelExpertTraining.com 

สารบญ

1. วธปรบ Excel ใหพรอมตอการใชงานอยางมออาชพ 6

2. การกาหนดตาแหนงอางอง 9

3. วธคนหาสตร 17

4. วธแกะสตร 21

5. วธสรางสตรซอนสตร 23

6. วธสรางชอซอนชอ 25

7. เรองทไมคอยรกนเกยวกบสตร 26

8. การแบงขอบเขตพนทตาราง 41

9. การกาหนดตาแหนงอางองขามชทหรอขามแฟม 44

10. หลกการตงชอและใชชอใน Excel 54

11. การใชสตรปรบตาแหนงอางอง 66

12. การกาหนดตาแหนงอางองแบบวงกลม 71

13. แปนพมพลดทเกยวของกบตาแหนงอางอง 78

14. หลกการแยกตวแปร 79

15. วธใช Goal Seek 80

 

Copyright of www.ExcelExpertTraining.com 

16. วธใช Data Table 85

17. หลากหลายแนวทางการใชสตร IF 90

18. การใชสตร IF ในการตดสนใจ 95

19. หลบรอนหนสตร IF ไปหาทางออกอน 104

20. หนสตร IF ไปใชคาสง Format 114

21. วธใช Data Validation 115

22. วธใช Conditional Formatting 116

23. สตร Array 118

24. สตร Array IF เพอใชหายอดรวมแยกประเภท 130

25. ของจรง ของปลอม ของใชไมไดใน Excel 143

26. หลกการใชวนทและเวลา 147

27. หลกการกาหนด Format Cells > Number 151

28. วธใช Add-In 155

29. Function VBA 157

30. General Functions 202

31. Day and Time Formulas 224

 

Copyright of www.ExcelExpertTraining.com 

32. List & Database Formulas 246

33. Conditional Formatting & Data Validation Formulas 248

34. Array Formulas 253

35. การกาหนดขอบเขตตารางแบบยดหยน 281

36. การจดการคาซา 297

37. การคานวณยอดรวมเพอจดทารายงาน 304

38. วธสรางสตรบนกราฟ 312

39. วธจดการกบความอวนอยอาย...ของแฟม 315

40. การออกแบบโครงสรางตารางคานวณ 325

 

Copyright of www.ExcelExpertTraining.com 

คานา

ในระยะเวลาหลายสบปทผานมา แม Excel ถกพฒนาใหเปนโปรแกรมทเปนประโยชนมากขน ม

คาสงและมเครองมอใหมๆ เตรยมไวใหเลอกใชมากขนกวาแตกอนกตาม ทงๆท Excel จะเปน

Excel ไดกเพราะการมสตรเพอใชในการคานวณ แตตวสตรท Excel มอยกลบมการเปลยนแปลง

นอยมาก มสตรใหมทจาเปนตอการใชงานเกดขนเพยงเลกนอยเทานน สวนทเปลยนแปลงสตร

ใน Excel 2010 กมงปรบปรงใหมความละเอยดในการคานวณยงขน

หลกสตรฉลาดใชสารพดสตร Excel อยางมออาชพกผานรอนผานหนาวมาหลายปเชนกน

หลกสตรนมงใหผใช Excel รจกคด ฉลาดเลอกใชสตร Excel ใหถกกบสถานการณ โดยเลอก

เฉพาะสตรทมความจาเปนตองนามาใชงานขนมาอบรมเพอทราบขอด ขอเสย และขอควรระวง

แนะนาวธคดออกแบบตารางใหเหมาะสมกบการคานวณ และหาทางกระตนใหผเขาอบรมเรยนร

วธแกปญหาไดดวยตวเอง

อยางไรกตามเนองจากระยะเวลาอบรมมเพยง 3 วน ไมสามารถแนะนาเรองราวและถายทอด

ประสบการณการใชสตรไดครบถวน จงขอแนะนาใหอานคมอเลมนซ งมเนอหาทอาจไมมโอกาส

หยบยกขนมาอบรมอยอกมาก

คมอประกอบการอบรมเลมนไดรวบรวมเนอหาสาคญของหลายหลกสตร ทงหลกสตรสดยอด

เคลดลบและลดของ Excel หลกสตรหนมาใช Excel จดการฐานขอมลแทน Access กนดกวา

และหลกสตรประยกตใช Excel เพอวางแผนความตองการวสดและจดตารางการผลต ตลอดจน

การใชสตรใน VBA อกทงไดนาตวอยางคาถามคาตอบและสตรแบบแปลกๆจากเวบหลายแหง

มารวมไว จงหวงวาผเขาอบรมจะไดเปดหเปดตาและไดแนวทางนากลบไปสรางงานของตน

ประเดนสาคญของการสรางสตร คอ ตองรจกคดและสรางสตรไดดวยตวเอง มใชลอกสตรของ

คนอนมาใชแลวแกะหรอแกไขตอใหดข นกวาเดมไมเปน

สมเกยรต ฟงเกยรต

17เมษายน 2555

 

Copyright of www.ExcelExpertTraining.com 

วธปรบ Excel ใหพรอม

ตอการใชงานอยางมออาชพ

1. ตองการปรบใหกดป ม Enter เพอ

บนทกคาแลวอยท เซลลเดม สง

File > Options > Advanced > ตด

กาชอง After pressing Enter,

Move selection

ทงนใน Excel 2007 สง Office >

Excel Options แทน File >

Options >

(Excel 2003 : Tools > Options > Edit > ตดกาชอง Move selection after Enter)

2. ตองการปรบใหกดป ม F2 เพอ Edit แกไขบน Formula Bar แทนในเซลล สง File >

Options > Advanced > ตดกา

ชอง Allow editing directly in

cells

(Excel 2003 : Tools > Options

> Edit > ตดกาชอง Edit directly

in cell)

คาสงนยงมผลทาใหเมอดบเบลคลกทเซลลสตรแลว Excel จะยายตาแหนงไปยงตาแหนง

เซลลตนทางทอางองในสตรนน และเมอกดป ม F5 > Enter จะยายกลบมาทเซลลเดมท

เคยดบเบลคลก

 

Copyright of www.ExcelExpertTraining.com 

3. ตองการเปลยนระบบการคานวณเปน manual สง File > Options > Formulas > กา

ชอง Manual จากนนตองกดป ม F9 เพอสงคานวณทกแฟมหรอกด Shift+F9 เพอสง

คานวณเฉพาะแฟมทเลอกอยเทานน

(Excel 2003 : Tools > Options > Calculation > กาชอง Manual)

หมายเหต ระบบการคานวณจะเปลยนตามระบบของแฟมแรกทเปดขนกอนเสมอ

4. ตองการเปดใหใช Macro และ Update Links ไดอตโนมตทกแฟมในโฟลเดอรท

กาหนดวาปลอดภย สง File > Options > Trust Center > กดป ม Trust Center

Settings... (Excel 2003 : Tools > Macro > Security > Security Level > กาชอง

Medium)

เลอกเมน Trusted Locations จากเมนดานซาย จากนนกดป ม Add new location... เพอ

 

Copyright of www.ExcelExpertTraining.com 

เลอกชอโฟลเดอร (Trusted Folder) ตามตองการ

นอกจากนสาหรบ Excel 2010 เปนตนมายงมเมน Trusted Documents เพอใชควบคมการ

เปดแฟมเพอทาใหแฟมใดทเคยเปดโดยให Macro ทางานหรอ Update Links มากอนกจะ

เปดแบบนนใหเองในคราวตอไป

 

Copyright of www.ExcelExpertTraining.com 

การกาหนดตาแหนงอางอง

บทความนมจดประสงคใหผทเคยใช Excel มากอนและมพนฐานมาบางจนพอทราบวาตาแหนง

อางอง (Cell Reference) ในตาราง Excel คออะไรและนาไปใชกนอยางไร จะไดเปดหเปดตา

เรยนรเคลดลบทคนทวไปอาจมองขามหรอไมนกฝนวาจะเปนไปได แลวสามารถนาตาแหนง

อางองไปใชกบสตรและคาสงไดอยางพลกแพลงมากยงขน โดยเฉพาะการเลอกใสเครองหมาย

$ ใหกบตาแหนงอางองนน ไมวาจะเปน $ ในเซลลสตร, $ ใน Conditional Format, $ ใน

Data Validation, หรอ $ ในในเครองมออนๆของ Excel กตาม ผมถอวา $ เปนหวใจของการใช

Excel ทเดยว

ต งหลกกนกอนวาจะใช Excel อยางคอมพวเตอร

คณลองนกดซวามนษยเราไดรบประโยชนจากการใชเครองคอมพวเตอรตางจากสมยทยงมแต

เครองคดเลขใหใชกนอยางไรบาง หลายคนนาจะตอบวา เครองคอมพวเตอรตองชวยใหคาตอบ

ทเรวกวาเครองคดเลขใชไหม แลวความเรวทวานถกวดมาจากเวลาทใชไปของเครอง

คอมพวเตอรหรอเวลาของคณกนละ

แนนอนทสดวาเครองคอมพวเตอรยอมทางานเรวกวาเครองคดเลข และเครองคอมพวเตอรรน

ใหมยอมทางานไดเรวกวาเครองคอมพวเตอรรนเกา ยงใช Excel ทตดตงบนเครองคอมพวเตอร

รนลาสด กยงไดคาตอบผลลพธจากการคานวณเรวขน ซงถาใครหลงเขาใจวาตวเองใช Excel

แบบคอมพวเตอรเปนอยแลวเพยงเพราะดจากความเรวของเครองคอมพวเตอรทใชอย กเปน

ความเขาใจทถกตองเพยงบางสวน (และเปนสวนทไมสาคญเทาใดเสยดวย) เพราะถาคณใช

Excel อยางคอมพวเตอรเปน ตอใหยกเครองคอมพวเตอรรนโบราณททางานชาเปนเตา กจะ

พบวาคณไมไดเสยเวลาตางกนมากนก

ลกษณะของการใช Excel อยางคอมพวเตอรมดงน

1. คณจะตองเสยเวลาสรางงานนานหนอย เนองจากตองหาทางคดสรางงานใหเหมาะสม

กบแตละสถานการณ ซงคณควรตงหลกไววา แฟมงานทสรางขนมานน จะตองสามารถ

นากลบมาใชซาแลวซาอกไดโดยไมตองยอนกลบไปแกไขใหมอกแมแตนอย

10 

 

Copyright of www.ExcelExpertTraining.com 

2. หากจาเปนตองแกไข ตองสามารถแกไขปรบปรงแฟมไดงาย ใชเวลาไมมาก และไม

สงผลกระทบตอการคานวณเดมทถกตองอยแลว ทงนไมวาจะกาหนดใหผททาหนาท

แกไขนนคอคณซงเปนผสรางแฟมนนเอง หรอแมแตจะเปนผอนซงไมเคยใชแฟมนนมา

กอนกตาม

3. สามารถลดจานวนคนและไมตองเพมอตรากาลงคนตามปรมาณงานทเพมขน

4. ประหยดเงนลงทน เพราะไมตองจายเพอซอเครองหรอโปรแกรมคอมพวเตอรรนใหม

5. คณตองมความสขและมเวลาวางใหกบชวตมากขน

สตรฉลาด (Smart Formula)

Smart Formula แปลวา สตรฉลาด ซงสตรฉลาดทวานจะฉลาดไดกตอเมอใชความฉลาดของ

คณในการสรางสตรขนมา เพอใหมลกษณะการใชงานไดตามน

ในชทหนงๆหรอตารางหนงๆ ตองมสตรตนฉบบเพยงเซลลเดยว ซงสามารถนาไปใชได

กบเซลลอนๆไดทงตาราง แลวเมอใดทจาเปนตองแกไขสตรใหม กจดการแกไขสตรน

เพยงเซลลเดยวแลว Copy นาไป Paste เพอใชไดกบทกเซลลในตาราง

ในโครงสรางของตวสตรฉลาดอาจใชวธกาหนดตาแหนงอางองแบบเซลลเดยวหรอแบบกาหนด

ขอบเขตตารางกได โดยไมวาจะใชวธใดกหลกหนการกาหนดตาแนงอางองทมเครองหมาย $

กากบตาแหนง 3 แบบตอไปนไปไมพน

• ตาแหนงอางองแบบ Absolute Reference มเครองหมาย $ วางไวดานหนาของทง

ตาแหนง Row และ Column เชน =$A$1 โดยใหใชตาแหนงอางองแบบนกบกรณท

ตองการนาคาคงทไปใช

• ตาแหนงอางองแบบ Relative Reference เปนตาแหนงอางองซงไมมเครองหมาย

$ เชน =A1 ซงสตรทอางองแบบนจะตองใชทเซลลเดมเซลลเดยวไปตลอด ไมสามารถ

Copy นาไป Paste เพอทาใหไดคาเดมซาทเซลลอนไดอก เพราะตาแหนงอางองจะ

เขยอนตางจากตาแหนงเดมเสมอ ดงนนจงเปนการอางองแบบทใชในเซลลสตรกนนอย

ทสด แตกลบถกนามาใชกนมากใน Conditional Formatting หรอ Data Validation

• ตาแหนงอางองแบบ Mixed Reference เปนตาแหนงอางองทนยมใชกนมากทสด

โดยผสรางสตรตองเลอกใสเครองหมาย $ ดานหนาตาแหนง Row หรอ Column เพยง

อยางใดอยางหนง เชน =A$1 เพอคงตาแหนง Row 1 ไวตามเดมตลอด หรอ =$A1

11 

 

Copyright of www.ExcelExpertTraining.com 

เพอคงตาแหนง Column A ไวตามเดมตลอด ไมวาจะ Copy นาสตรไป Paste ท

ตาแหนงอนกตาม

วธสรางสตรใหมตาแหนงอางองทมเครองหมาย $ นาหนาตาแหนงของ Row และหรอ Column

น ใหใชวธ Pointing แลวกดป ม F4 ซาไปเรอยๆจนกวาจะไดตาแหนง $ ตามตองการ

1. ใหเรมจากพมพเครองหมายเทากบ = ลงไปในเซลลทตองการสรางสตร (เพอแสดงการ

ยดครองเซลลนนไวกอนวา เปนเซลลทจะรบสตรลงไปเมอเรากดป ม Enter)

2. จากนนใชวธช ลงไปในเซลลทตองการ (Pointing แปลวา ช) โดยใช Mouse คลกเลอก

เซลลทตองการ ไมวาจะอยตางชทหรอตางแฟมกนกตาม เชน คลกทเซลล A1 จะได

สตร =A1

3. จากนนใหกดป ม F4 ไปเรอยๆ จะพบวามเครองหมาย $ แทรกลงในสตรใหเองตามลาดบ

ทมการกดป ม F4 ดงน A1 $A$1 A$1 $A1 A1 แลวจะมเครองหมาย $

วนซาไปอก

4. เมอไดตาแหนง $ ควบคมตาแหนง Row และหรอ Column ตามตองการแลวใหกดป ม

Enter เพอรบสตรลงไปในเซลล แลวจะพบวา Excel จะพากลบมาทเซลลซงพมพ

เครองหมายเทากบนาหนาสตรเอาไวตงแตแรกนนเอง

การใสเครองหมาย $ เพอเปนการควบคมตาแหนงอางองไวไมใหเขยอนน นอกเหนอจากการทา

ใหคณสามารถ Copy สตรไปใชในเซลลอนไดทนทแลว ยงเปนเรองนาสงเกตวาชวยทาใหแฟม

มขนาดเลกลงกวาแฟมทมสตรซงไมม $ กาหนดไวเลย (ขอใหทดลองลบเครองหมาย $ ทง

จากสตรในตารางขนาดใหญเพอเปรยบเทยบดขนาดแฟม โดยใชคาสง Replace เครองหมาย $

แตไมได Replace with ดวยเครองหมายใด)

นอกจากตาแหนงอางองทตองมเครองหมาย $ เปนองคประกอบสาคญแลว ในโครงสรางของ

สตร Smart Formula ยงอาจจาเปนตองพงสตร IF, And, Or หรอสตรอนๆซงทาหนาทตดสนใจ

เพอชวยทาใหสตรมเงอนไขในการคานวณตางไปจากเดมไดเองทนท เมอมการนาสตรเดยวกน

ไปใชซาทตาแหนงเซลลอน

12 

 

Copyright of www.ExcelExpertTraining.com 

ตวอยาง Smart Formula แบบใชตาแหนงอางองเซลลเดยว

ขอใหสรางตารางสตรคณ ซงนาตวเลขบนหวตารางมาคณกบตวเลขดานขางซายของตาราง

ขนตอนการสราง

1. เรมจากเลอกเซลล C3 แลวพมพเครองหมายเทากบ = ลงไป

2. จากนนคลกเซลล C2 จะไดสตร =C2

3. กดป ม F4 เพอเปลยนสตรใหเปน =C$2

4. พมพเครองหมายคณ *

5. จากนนคลกเลอกเซลล B3 จะไดสตร =C$2*B3

6. กดป ม F4 เพอเปลยนสตรเปน =C$2*$B3

7. กดป ม Enter เพอรบสตรลงไปในเซลล C3

8. Copy ไปทบตาราง C3:F5

คาอธบาย

• เซลล C3 เปนเซลลทมสตร Smart Formula ซงโดยทวไปจะเลอกใหเซลลหวมม

ดานซายบนของตารางเปนเซลลทมสตร Smart Formula

• คณอาจเลอกสรางสตรคณโดยใชเลข 2 นาหนาแลวนาไปคณกบเลข 10 เพอทาใหได

สตร =C$2*$B3 หรอจะเลอกใชเลข 10 นาหนาแลวนาไปคณกบเลข 2 ซงจะทาใหเกด

สตร =$B3*C$2 กไดและทาใหเกดผลลพธถกตองเทากนทงสองแบบ แตขอแนะนาให

สรางพฤตกรรมในการสรางสตรของตนวา “ทกสตรทสรางขนจะนาตาแหนงอางอง

ตามแนวนอนขนกอนตาแหนงอางองตามแนวต งเสมอ” ซงหลกนจะชวยใหคณแกะ

สตรของตวเองไดงายขน และหากสงเกตสตรอนๆของ Excel เชน Index หรอ Offset

13 

 

Copyright of www.ExcelExpertTraining.com 

จะใชตาแหนงอางองจากแนวนอน Row ขนกอนตาแหนงอางองจากแนวตง Column

เชนกน

• C$2 ตองมเครองหมาย $ วางไวหนาเลข 2 เนองจากตารางสตรคณนม Row 2 เปน

ตาแหนงอางองทตองควบคมไวไมใหเปลยน สวนตว C ไมตองมเครองหมาย $ นาหนา

เพอปลอยให C เปลยนตาแหนงเปน Column D E F หรอ Column อนๆตามแตวาจะใช

สตรนหรอไม

• $B3 ตองมเครองหมาย $ วางไวหนา Column B เนองจากตารางสตรคณนม Column B

เปนตาแหนงอางองทตองควบคมไวไมใหเปลยน สวนเลข 3 ไมตองมเครองหมาย $

นาหนา เพอปลอยใหเลข 3 เปลยนตาแหนงเปน Row 4 5 6 หรอ Row อนๆตามแตวา

จะใชสตรนหรอไม

• หลกการใสเครองหมาย $ น ใหจาไววา “ถาตาแหนงอางองในสตรมาจากคาตาม

แนวนอน ใหใส $ ไวหนา Row (เพราะ แนวนอน = Row) แตถาตาแหนงอางองในสตร

มาจากคาตามแนวตง ใหใส $ ไวหนา Column (เพราะ แนวตง = Column)”

ตวอยาง Smart Formula แบบใชตาแหนงอางองตามขอบเขตพนทหว

ตาราง

ขอใหสรางตารางสตรคณ ซงนาตวเลขบนหวตารางมาคณกบตวเลขดานขางซายของตาราง

วธการสรางคลายกบวธแรก แทนทจะคลกเลอกเซลล C2 หรอเซลล B3 วธนใหคลกเลอกเซลล

C2:F2 และ B3:B5 ซงเปนหวตารางดานบนและดานซายทงหมด แลวกดป ม F4 เพอทาใหเกด

สตร =$C$2:$F$2*$B$3:$B$5

1. เรมจากเลอกเซลล C3 แลวพมพเครองหมายเทากบ = ลงไป

2. จากนนคลกเลอกเซลลบนหวตารางดานบนจากเซลลเลข 2 - 5 จะไดสตร =C2:F2

14 

 

Copyright of www.ExcelExpertTraining.com 

3. กดป ม F4 เพอเปลยนสตรใหเปน =$C$2:$F$2

4. พมพเครองหมายคณ *

5. จากนนคลกเลอกเซลลบนหวตารางดานซายจากเซลลเลข 10 - 30 จะไดสตร

=$C$2:$F$2*B3:B5

6. กดป ม F4 เพอเปลยนสตรเปน =$C$2:$F$2*$B$3:$B$5

7. กดป ม Enter เพอรบสตรลงไปในเซลล C3

8. Copy ไปทบตาราง C3:F5

คาอธบาย

• สตรแบบทอางองกบตาแหนงทงหมดบนหวตารางหรอขางตาราง แลวใสเครองหมาย $

ใหกบตาแหนงทง Row และ Column น ผมตงชอเรยกวา สตรแบบลอมร ว โดยทสตร

=$C$2:$F$2*$B$3:$B$5 จะทาหนาทนาตาแหนงอางองบนรวตามแนวตงฉากทตดกน

มาคณกนทละตวใหเอง ทาใหไมตองคอยพะวงวาจะตองเลอกใสเครองหมาย $ เพอ

ควบคมตาแหนงอางองตามแนวใดเปนหลก

• ถาเปรยบเทยบกบสตรคณวธแรกซงใชตาแหนงอางองแบบเซลลเดยว จะพบวาการใช

สตรอางองแบบเซลลเดยวมความยดหยนมากกวา เชนเมอหวตารางมขนาดใหญมากขน

กสามารถ Copy สตรไปใชตอไดทนท แตถาสรางสตรแบบลอมรว จะตองสรางสตรใหม

เพอกาหนดตาแหนงอางองในสตรใหมขนาดขยายตาม (เวนแตวาคณทราบวธขยาย

ขอบเขตตาแหนงอางอง ซงจะนามาอธบายตอไปในภายหลง)

• จดออนของสตรแบบลอมรวกคอ สตรแบบนใสเครองหมาย $ ควบคมตาแหนงแบบ

Absolute จงคานวณหาคาตอบใหไดเฉพาะตารางจาก C3:F5 ซงอยภายในขอบเขต

ของรวเปนแนวของตาแหนงคงท หาก Copy สตรไปใชนอกรวจะเกด Error ขนตามรป

15 

 

Copyright of www.ExcelExpertTraining.com 

ตวอยาง Smart Formula แบบใชตาแหนงอางองแบบ Array ตาม

ขอบเขตพนทหวตาราง

ขอใหสรางตารางสตรคณ ซงนาตวเลขบนหวตารางมาคณกบตวเลขดานขางซายของตาราง

ขนตอนการสราง

1. แทนทจะเลอกเซลล C3 เพยงเซลลเดยว คราวนใหเลอกพนทตารางจากเซลล C3:F5

ทงหมดพรอมกนไวกอน

2. จากนนพมพเครองหมายเทากบ =

3. คลกเลอกเซลล C2:F2 บนหวตาราง จะไดสตร =C2:F2

4. พมพเครองหมายคณ *

5. คลกเลอกเซลล B3:B5 จากขางตาราง จะไดสตร =C2:F2*B3:B5

6. จากนนแทนทจะกดป ม Enter ใหกดป ม Ctrl+Shift+Enter พรอมกนทเดยว 3 ป ม จะ

ทาใหเกดเครองหมายวงเลบปกกาปดหวทายสตรใหเองกลายเปน {=C2:F2*B3:B5}

คาอธบาย

• สาเหตทตองเลอกพนทตาราง C3:F5 ไวกอนแทนการเลอกเซลล C3 เพยงเซลลเดยว

เพอทาใหผลลพธทไดจากสตร Array คนคากระจายคาตอบลงไปในตารางใหครบทก

ตาแหนง

• ลองใช Mouse คลกลงไปในชอง Formula Bar เลอกเฉพาะสวนของสตร C2:F2 แลว

กดป ม F9 จะพบวาตาแหนงอางองสวนนเปลยนเปน {2,3,4,5} จากนนใหกดป ม Esc

เพอคนสภาพสตรตามเดม

16 

 

Copyright of www.ExcelExpertTraining.com 

• ลองใช Mouse คลกลงไปในชอง Formula Bar เลอกเฉพาะสวนของสตร B3:B5 แลว

กดป ม F9 จะพบวาตาแหนงอางองสวนนเปลยนเปน {10;20;30} จากนนใหกดป ม Esc

เพอคนสภาพสตรตามเดม

• หากกดป ม F2 ตามดวย F9 จะพบวาสตร Array เดมบน Formula Bar {=

C2:F2*B3:B5} จะเปลยนเปน ={20,30,40,50;40,60,80,100;60,90,120,150} แลว

ขอใหสงเกตวามเครองหมาย Comma และ Semi-Colon ขนอยระหวางตวเลข (ซง

เครองหมาย Comma , นแสดงถงวาคาถดไปยงคงอยใน Row เดม สวนเครองหมาย

Semi-Colon ; แสดงวาคาถดไปตองขน Row ใหม)

• ดงนน ={20,30,40,50;40,60,80,100;60,90,120,150} จงแสดงใหเหนวาสตร Array

นคนคาเปนคาตอบซงมขนาดความกวาง 4 Column และมความสง 3 Row ตามขนาด

พนทตงแต C3:F5 ทตองเลอกไวกอน เพอใหกระจายคาลงไปใหครบนนเอง

• หากหวตารางมขนาดเปลยนไป ตองลบสตร Array ทสรางไวเดมนท งไปกอนแลวจง

สรางสตร Array ใหมลงไป ซงในการลบสตร Array ทงน หากตอนทสรางสตรเกดจาก

การสรางพรอมกนทเดยวหลายเซลล จะเลอกลบสตรทงบางเซลลไมได ตองเลอกเซลล

C3:F5 ทงหมดแลวจงสงลบสตรทงพรอมกนทเดยวจงจะลบได

• เนองจากสตร Array ในตวอยางนเกดจากการสรางพรอมกนทงตารางดวยสตรเดยว จง

ทาให Excel คานวณสตรทงตารางสตรคณเพยงครงเดยว ถอเปนเคลดลบและลดท

นาสนใจเปนอยางยงเพราะถาสรางไดจะทาใหแฟมคานวณเรวขนอยางผดหผดตาทเดยว

(เรวกวาตวอยางสตรคณซงสรางสตรลงไปในเซลลเดยวแลวตอง Copy ไป Paste

เพอใหคานวณซาอกในเซลลอน)

• หากตองการคนหาวาสตร Array ทเหนนนสรางขนพรอมกนจากเซลลใดถงเซลลใด ให

เรมจากคลกเลอกเซลลสตร Array นนๆกอนเพยงเซลลเดยว แลวกดป ม F5 >

Special > กาชอง Current array จะ

พบวา Excel เลอกพนทตารางสวนทเกด

จากการสรางดวยสตร Array พรอมกนนน ให

ทนท จากนนหากตองการลบหรอสราง

สตร Array ใหมลงไปกใหกระทาตอพนท

ตารางทเลอกใหแลวนนรวมกนเสมอ

17 

 

Copyright of www.ExcelExpertTraining.com 

วธคนหาสตร

เมอเจอปญหาในงาน ใหคอยๆวเคราะหปญหาทละขนตอน แบงปญหาแยกออกเปนขนๆ

ตามลาดบการคานวณ ตามลาดบการตดสนใจ ควรลองสรางแนวทางแตละขนลงบนกระดาษ

กอน เพอจดลาดบการสงคาไปทละขนใหถกตอง แลวลองใชมอ ใชเครองคดเลข คดคานวณ

อยางคราวๆกอนวา จะใชสตรคานวณอยางไร และไดผลลพธออกมาเปนเทาใด

ปญหาทวายาก อาจยากเพราะเราทาใหมนยากขนเอง เชน คานวณวา ถาซอสนคาตนทน 127

บาทตอหนวย มาปรบกาไรขนอก 13.45% จะตองกาหนดราคาขายเทาใด

ปญหานทาใหงายลง โดยใชเลขตวกลมแทนตวเลขจรงไปกอน ลองคานวณตนทน 100 บาท

แทน 127 บาท ลองกาหนดกาไรเปน 10% แทน 13.45% จะคานวณไดผลลพธงายขนจรง

ไหม

สาเหตทเราปรบปญหาใหงายลงน เพอใหมองทลาดบขนการคานวณแทนทจะมววนอยกบ

ตวเลข เมอไดขนการคานวณทตองการแลว จงหนมาสรางมาคนหาสตร Excel ทจะใช ภายหลง

จากสรางสตรเสรจแลว เราจะเปลยนตวเลขใหยากขนเทาใดกไดทงนน Excel จะคานวณให

เสรจในพรบตา

ขอใหยดหลกวา Excel มสตรคานวณสาหรบปญหาของเราทกอยาง บางปญหาตองใชสตร

รวมกบสตรอนตอๆกนไป บางปญหาตองใชสตรซอนสตร แตบางปญหาใชสตรๆเดยวกได

ผลลพธแลว ขนตอนการแกปญหาจงเปนภาระของมนษย ตองหาสตรทตองการใชใหเจอ

แทนทจะเสยเงนซอหนงสอเรองสตร ใหเปดดจาก Excel Help ซงตดมากบโปรแกรม Excel อย

แลว (หนงสอเรองสตรทขายกน สวนมากมกลอกคาอธบายจาก Excel Help ไปใช มนอยเลม

มากทเขยนอธบายดวยตวเอง)

 

วธท 1

เลอกเซ

บน For

ถาไมรว

เลอก A

คลกลงไ

สตรใดก

นนๆลงไ

ตวอกษ

จอจะแส

Help on

เปดดรา

วธท 2

เมอเปด

เกยวขอ

ควรรอบ

ปญหาท

1 คนหาต

ซลลวางๆทย

rmula Bar

วาสตรนนๆอ

All ในชอง se

ไปในชอง S

กได แลวพม

ไป Excel จ

ษรทตองการใ

สดงรปแบบข

n this func

ายละเอยดข

2 คนหาสต

ดสตรทตองก

องกน

บรสตรซงมค

ทสด

Cop

ามชอสต

ยงไมมสตรใ

อยในกลมไห

elect a cat

Select a fun

มพตวอกษร

ะเลอนไปหา

ใหทนท สว

ของสตร หร

ction ดานลา

องสตร

ตรทใชงา

การ แลวเลอ

ความเกยวขอ

pyright of ww

ดๆ แลวใชค

หน ใหคลก

egory แลว

nction ตรง

นาของสตร

าชอสตรตาม

นดานลางใต

รอคลกทคาว

างซายสดเพ

านทดแทน

อนจอไปดาน

องกนทงหม

18 

ww.ExcelExp

คาสง Form

วา

พอ

นกน

นลาสด ใหค

มดกอน แลว

pertTraining.c

ulas > Ins

คลกคาวา S

วจงตดสนใจ

com 

ert Functio

ee Also เพ

จเลอกใชสต

on หรอคลก

พอเปดรายชอ

ตรซงเหมาะก

กทป ม fx

อสตรท

กบ

 

วธท 3

ใหเรมพ

ชวยเลอ

ไมแนะน

ทาใหม

> Optio

AutoCo

3 คนหาต

พมพ = ตาม

อกตวแปรใน

นาใหใช Fu

องไมวาเปน

ons > Adv

omplete ทง

Cop

วแปรทใช

มดวยชอสตร

นสตรใหเอง

nction Scre

น column ใ

anced (แล

งไปดวยเพร

pyright of ww

ชในสตร

รทตองการใ

een Tips เพ

ด โดยตดกา

ะควรสง File

ราะ Excel จ

19 

ww.ExcelExp

ใชงานกอน

พราะคาอธบ

าชอง Show

e > Option

ะพยายามเด

pertTraining.c

แลวกดป ม C

บายทปรากฏ

w Function

ns > Formu

ดาชอสตรทพ

com 

Ctrl+a เพอ

ฏขนจะทบแน

ScreenTip

ulas > ตดก

พมพลงไปใ

อเปด Help ส

นวของหว c

ps จากการส

กาชอง Form

ให)

สาหรบ

column

สง File

mula

 

วธท 4

เมอเปด

อธบายข

4 คนหาข

ดดรายละเอย

ขอแมหรอข

Cop

อจากดข

ยดของสตรใ

ขอจากดในก

pyright of ww

องสตร

ใน Excel He

การใชงานขอ

20 

ww.ExcelExp

elp แลวให

องสตรเอาไ

pertTraining.c

ดขอจากดข

com 

ของสตรไดจจาก Remarkks ซง

21 

 

Copyright of www.ExcelExpertTraining.com 

วธแกะสตร

ลองพจารณาสตรคานวณหาเวลาสนสดในงาน Material Requirements Planning ตอไปน

=INDEX(Begin,COUNTIF(Cum_Hour,"<"&(I10+((INDEX(Cum_Hour,MATCH(VLOOKUP(J10,Begin,1),Begin,1),1)-INDEX(Working_Hour,MATCH(VLOOKUP(J10,Begin,1) ,Begin,1),1))+((J10-VLOOKUP(J10,Begin,1))*24))))+1,1)+(((I10+((INDEX( Cum_Hour,MATCH(VLOOKUP(J10,Begin,1),Begin,1),1)-INDEX(Working_Hour,MATCH (VLOOKUP(J10,Begin,1),Begin,1),1))+((J10 - VLOOKUP(J10, Begin, 1))*24)))-(INDEX(Cum_Hour,(COUNTIF(Cum_Hour,"<"&(I10+((INDEX (Cum_Hour,MATCH( VLOOKUP(J10,Begin,1),Begin,1),1)-INDEX(Working_Hour,MATCH( VLOOKUP(J10, Begin,1),Begin,1),1))+((J10-VLOOKUP(J10,Begin,1))*24))))+1),1)-INDEX( Working_Hour,(COUNTIF(Cum_Hour,"<"&(I10+((INDEX(Cum_Hour,MATCH(VLOOKUP(J10,Begin,1),Begin,1),1)-INDEX(Working_Hour,MATCH(VLOOKUP( J10,Begin,1),Begin,1),1))+((J10-VLOOKUP(J10,Begin,1))*24))))+1),1)))/24)

• เรมจากสงเกตเครองหมายเทากบ เครองหมายวงเลบ และเครองหมายลกนา ซงเปนองคประกอบแยกโครงสรางของสตร

• สงเกตตวอกษรตวใหญ เปนชอสตรและตาแหนงอางอง • เมอกดป ม F2 หรอคลกลงไปในสตรบน formula bar จะพบวา Excel เปลยนสแตละ

สวนของสตร พรอมกบมกรอบสตรงกนลอมรอบเซลล เพอชใหเหนตาแหนงของเซลลซงถกนาไปอางองในสตร

• ใหคลกลงบนสตร แลวใชแปนพมพเลอนลกศรผานเครองหมายวงเลบ จะพบวา เครองหมายวงเลบคกนทงดานหนาและดานหลง จะเปลยนเปนสดาเขมประมาณ 2 วนาท เพอบอกวาเปนวงเลบคเดยวกน

• เมอพบวงสตรทเปนวงเลบชดเดยวกนแลว ใหคลกเลอกสตรนนในชอง Formula Bar แลวกดป ม F9 จะเหนผลลพธเฉพาะสวนทเลอกไว แลวใหกดป ม Esc เพอยอนกลบไปแสดงสตรตามเดม

• ให double คลกลงไปในเซลลสตร จะพบวา Excel ยายตาแหนงตวชไปเลอกเซลลตนทางทใชในสตร ทงนตองตดกาชอง Allow editing directly in Cells ในคาสง File > Options > Advanced ไวกอน และเมอไปยงเซลลตนทางแลวหากตองการยายกลบมายงเซลลสตรเดม ใหกดป ม F5 แลวกดป ม Enter

• ควรใสวรรคระหวางเครองหมายทใชในสตร เพอแยกใหหางออกจากกน จะได สะดวกในการแกะสตร หากตองการแยกสตรขนบรรทดใหมในสตรเดม ใหกด Alt+Enter

• หากอยระหวางการแกไขสตร แตยงแกไขไมเสรจ ใหพมพเครองหมายคาพดใสดานหนาเครองหมายเทากบ เพอทาใหสตรกลายเปนตวอกษรไปกอน หากไมใชวธนตองคอยระวงอยากด Enter เพราะ Excel จะรบสตรลงไปและเตอนขอผดพลาดหรอแกไขสตรตางไปจากทตองการ

 

ควรพมพเมนยอยสตรซงอนอกเขาออกมาสตรบางName ใManagถาตองกเชอมโยF5 > SColumnDependถดไป แเรอยๆเพเรอยๆจถาตองกFormul

แสดงสใหใชเมShow FOptionreferenอางองวสภาพเด

Cop

พ Commenย Insert Coอยในวงเลบาใน เพอเขาอกครงเพอไงสตรไมไดอใหดไดจากer เพอเขาไการคนหาเซยงกนดวยสตSpecial > กn Differencdents และเแลวกดป ม Oพอสงให Exนกวาจะหมการลากเสนlas > Form

ตรในเซลลใมน FormulaFormulas แs > Formu

nce style เพวาเปนแบบเดมเมอตรวจ

pyright of ww

nt กากบเซลomment เพบในสด จะสงาใจกบความไลลาดบการอยในเซลล คาสง Formไปดและแกไซลลตนทางหตร ใหเลอกเาชอง Row ces หรอเลอเลอก DirecOK จากนนใxcel ทวนคาดการเชอมโนลกศรแสดงmula Auditin

ใหเหนแทนas > Formuและใชคกบคulas > กาชอพอแสดงรปแดยวกนหรอจสอบสตรเรย

22 

ww.ExcelExp

ลล โดยคลกพออธบายสตงคาตอมาใหมหมายของสรคานวณสงแตเปน For

mulas > Naไขสตร หรอปลายทเซลลสตรแDifferenceอก Precedect only เพอใหกดป ม F4าสงคนหานซโยง งความเชอมng > Trace

การแสดงผula Auditinคาสง File >อง R1C1 แบบตาแหนอไม และแกคยบรอยแลว

pertTraining.c

กขวาลงไปใตรทใชงานวหสตรสวนนสตรทงหมดคาในสตรเซrmula ame

ทางทลวกดป ม es หรอ ents / หาเซลล

4 ตอไปซาไป

โยงสงคาระe Preceden

ลลพธ g >

>

นงคนส

com 

ในเซลลทตอวามความเปนอก ดงนนจงกอน แลวแกซลลหนงๆ

ะหวางสตร ใnts/Depend

องการ แลวนมาอยางไรงควรแกะสตกะสตรจากใ

ใหใชเมน dents

เลอกร ตรจากใน

23 

 

Copyright of www.ExcelExpertTraining.com 

วธสรางสตรซอนสตร

จดประสงคของการนาสตรมาซอนสตร เพอทาใหสตรๆเดยวสามารถคานวณใหผลลพธไดเลยทนท โดยไมตองพงพาสตรในเซลลอนๆ ทาใหเกดประโยชนดงน

• ชวยจากดเซลลทตองใชเพอสรางสตร • ชวยใหคนหาเซลลสตรไดงายเนองจากสตรถกนามารวมกนไวเพยงทเดยว • หากมจานวนเซลลทมสตรยาวๆจานวนไมมากนก จะทาให file มขนาดเลก

ลง เนองจากไมตองเปลองเซลลหรอ sheet เพอแยกเกบสตร และชวยให คานวณรวดเรวขน

สวนขอเสยของการสรางสตรซอนสตรกคอ สรางยาก และทาใหแกไขสตรในภายหลงยากขน จงตองเปรยบเทยบขอดขอเสยดงกลาวนเสมอ หากสรางเองใชเองแกไขเองคงไมตองหวงนก แตถาสรางสตรแลวทงไวใหคนอนแกไข คงตองลมกนไปเลยวา จะเรมตนแกไขกนยงไงด สวนมากมกสรางสตรขนใหมเลยดกวา

หลกการสรางสตรซอนสตร

1. ควรรวมกลมของสตรซงคานวณเปนลาดบตอเนองกนไวเปนสตรเดยว และแยกขนตอนซงไมตอเนองออกเปนอกสตรหนง

2. ควรแยกสตรออกใหทางานคนคาซงมความหมายสมบรณในขนนนๆ และงายตอการตรวจสอบวา ลาดบการคานวณขนใดผดพลาด จะไดสะดวกตอการแกไขใหถกตอง

3. อยารวมทกขนตอนของการคานวณไวในสตรๆเดยวจนยาวเกนไป

วธสรางสตรซอนสตร

ใหสรางสตรซงควรเปนสตรวงเลบในสดกอนสตรอน สตรนมกใชคานวณหาคาพนฐานแรกสด ซงจะถกนาไปใชเปนตวแปรในสตรอนถดไป เชน สรางสตรคานวณหาเลขทบรรทด ดวยสตร =MATCH( MinimumCost, TotalCost, 0)

จากนนจงสรางสตรอนครอมขางนอกเพอนาผลลพธจากสตร Match ไปใช เชน

=INDEX( LotSize, MATCH( MinimumCost, TotalCost, 0), 1)

ถาเปนสตรชวยการตดสนใจ เชน สตร IF ใหพจารณาหาสตรซงใชตดสนใจอนๆ มาซอนเขาไปในสตรเดมเมอถงตวแปรซงตองการใชสตรอนคานวณคาให เชน ตองการตดสนคะแนน 0 - 50 ใหเกรด C ถาคะแนน 51 - 80 ใหเกรด B แตถาเกนกวา 80 ใหเกรด A ใหสรางสตรหาเกรด A ใหไดกอน

24 

 

Copyright of www.ExcelExpertTraining.com 

=IF(คะแนน>80,"A","BC")

แลวคอยพจารณาตอวา จะตดสนเกรด B C ตอไปดวยสตร IF อยางไร

=IF(คะแนน>80,"A",IF(คะแนน>50,"B","C"))

ถาไมถนดสรางสตรตอกนซอนกนไปเลยทเดยว ใหสรางสตรแยกแตละขนตอนออกไปลงในเซลลแยกจากกนกอน แลวจง copy ตวสตร ไป paste ทบในตาแหนงอางอง เชน

A1: =NOW()

A2: =DAY(A1)

ให copy สตร NOW() จากเซลล A1 ไปทบคาวา A1 ในเซลล A2 จะไดสตรซอนกนเปน =DAY(NOW())

วธ copy สตร ใหคลกเลอกสวนของสตรทตองการจากสตรบน Formula Bar เชน เลอกคาวา NOW() แลวคลกขวาเลอก copy (หรอกด Ctrl+c) แลวกด Esc หนงครงเพอออกจากการเลอก แลวจงไปคลกเลอกคาวา A1 บน Formula Bar ของสตรในเซลล A2 แลวคลกขวาสง paste (หรอกด Ctrl+v)

25 

 

Copyright of www.ExcelExpertTraining.com 

วธสรางชอซอนชอ

ใชคาสง Formulas > Define Name เพอตงชอใหกบสตร หลงจากนนจงนาชอนนไปซอนในชออนตอไปอก เชน สตรในงานวางแผนการผลต ซงใชเวลาเรมงาน และเวลาทใชทางาน คานวณหาเวลาสนสดงาน ตอไปน

Calc1 =VLOOKUP(RelativeStart, Begin, 1)

Calc2 =INDEX(Working_Hour, MATCH( Calc1, Begin, 1 ), 1 )

Calc3 =INDEX(Cum_Hour, MATCH( Calc1, Begin, 1 ), 1 )

Calc4 =Calc3 - Calc2

Calc5 =RelativeStart - Calc1

Calc6 =Calc4 + ( Calc5*24 )

Calc7 =RelativeHour + Calc6

Calc8 =COUNTIF(Cum_Hour, "<" & Calc7 ) + 1

Calc9 =INDEX(Working_Hour, Calc8, 1)

Calc10 =INDEX(Cum_Hour, Calc8, 1)

Calc11 =Calc10 - Calc9

Calc12 =(Calc7 - Calc11) / 24

Calc13 =INDEX(Begin, Calc8, 1)

Calc14 =Calc13 + Calc12

วธนาชอทตงไวมาใสในสตร ใหกดป ม F3 เพอเลอกชอทตงไว เพอสรางสตรลงไปในเซลลกอนแลวจง Copy สตรไปใสตอในชองสตรของ Define Name

เวลาใชงานกนาสตรชอ Calc14 ไปใชเทานน กจะคานวณสตรทงหมดตงแต Calc1 – Calc13 ใหอตโนมต

26 

 

Copyright of www.ExcelExpertTraining.com 

เร องทไมคอยรกนเกยวกบสตร

โปรแกรม Microsoft Excel รนใหม มไดมเสนหอยทรปรางหนาตาบนหนาจอทประกอบไปดวย

แถบรบบอนแบบใหม(ทยงไมคอยคนเคย) และมพนทตารางซงมขนาดใหญมากขนกวาเดม

หลายเทาเพยงเทานน แตสาเหตททาให Excel มเสนห กลายเปนโปรแกรมยอดนยมมานาน

แสนนาน กเพราะมองคประกอบสาคญ นนคอ Excel ตงแตรนแรกๆไดจดเตรยมสตรสาเรจรปไว

มากมายใหนามาใชกน หากสตรทมอยยงไมสามารถใชคานวณหาคาตอบทตองการได เราก

สามารถนาสตรทมอยนนมาใชรวมกน ซอนกน หรอผกสตรเขาดวยกน จนกลาวไดวาเราสามารถ

ใช Excel คานวณหาคาตอบไดกบโจทยการคานวณทกเรอง ปญหาใดทคดวาไมสามารถใช

Excel หาคาตอบ นนเปนเพราะคนเราตางหากทยงคดไมออก ไมใชวาใช Excel หาคาตอบ

ไมได บางปญหาอาจตองใชเวลาคดนบสบปกวาจะทราบวาตองเอาสตรนนมาซอนกบสตรนแลว

กจะไดคาตอบทตองการออกมานนเอง

เคลดลบทชวยใหสามารถใชสตรจนชาชอง มใชวาตองรจกสตรทกสตรท Excel มอยหรอก

เพราะสตรทใชงานกนประจานนมไมมากนก แครจกการใชสตร Sum, If, And, Or, Choose,

VLookup, Match, Index, CountIF, SumIF, Offset, Indirect, และ Array Formula ใหเปน

และสามารถนาสตรแคนแหละมาใชรวมกนใหเปนกเพยงพอแลว แตกวาจะใชสตรใหเปนยงม

หลายเรองทตองทาความเขาใจกน หากคดเพยงวาขอใชสตรเหลานเปนกพอแลว คณกจะถง

ทางตนในไมชา โดยบทความนจะขอนาเรองทไมคอยรกนเกยวกบสตรมาอธบาย หลายเรอง

เปนเรองสาคญทคดกนวาไมสาคญ บางเรองกงายแตคดไมถงวาเรองงายนนแหละยงมอะไร

หลายอยางซอนอยอก

ทาอยางไรใหเกงสตร Excel

1. ไมจาเปนตองซอหนงสอเกยวกบสตร เพยงแคเปดโปรแกรม Excel แลวกดป ม F1 กจะ

เปด Excel Help ขนมาคนหาสตรท Excel มอยไดแลว ถาคณตองการซอหนงสอ

เกยวกบสตร ขอใหหาซอหนงสอทอธบายเรองสตรไดละเอยดกวาทมใน Help (ซงหา

ไดยากมาก เพราะคนแตงหนงสอมกเขยนอธบายตางจาก Help ไมมาก)

2. ถาซอหนงสอ Excel มาแลว ขอใหเปดอานตงแตหนาแรกจนถงหนาสดทายโดยไมตอง

เปดคอมพวเตอร เพราะถามวเปดอานไปทาตวอยางไปบนหนาจอพรอมกน กวาจะอาน

หมดเลมกจะใชเวลาเกนปครง (ซง Excel จะมรนใหมใหพวกเราไดใชงานกนประมาณ

27 

 

Copyright of www.ExcelExpertTraining.com 

ทกปครง แลวคณจะตองซอหนงสอ Excel รนใหมมาตงตนอานกนตงแตหนาแรกกนใหม

อก สดทายกไมสามารถรจก Excel ครบทงหมดสกท)

3. ถายงไมไดซอหนงสอ ขอใหไปท www.xlfdic.com ซงจะมแฟมตวอยางการใชสตร

Excel กวา 150 สตรให download มาศกษากนไดฟร

4. ขอใหพยายามรอบรกอนรลก คณควรรอบรไวกอนวา Excel มสตรอะไรบาง จากนนเมอ

ถงเวลาทางานจงคอยใชเวลารลกเรยนรสตรแตละสตรใหคลองในภายหลง

5. ตงหลกไวเลยวา Excel มสตรทคณสามารถนามาใชกบงานทกอยางของคณไดอยแลว

ถาไมมสตรสาเรจรปทคานวณลดหาคาตอบไดโดยตรง ใหหาทางนาสตรหลายสตรมาใช

งานรวมกน

6. เรมแรกททดลองใชสตร ควรใชกบโจทยงายๆททราบคาตอบทถกตองอยแลว จะได

เขาใจหลกการคานวณท Excel ใชวามขนตอนการคดคานวณอยางไร และเมอได

คาตอบตรงกบททราบ จะชวยทาใหคณเกดความมนใจ และเกดความกลาทจะนาสตรไป

ใชในปญหาอนตอไป ลองคดดวา =2*3 กบ =123*4.56 สตรใดทงายกวากน

7. ถาสตรคานวณไดคาตอบอนตางจากทตองการ อยาคดวาตวเองสรางสตรผด แตควร

พยายามคดคนหาใหไดวาคาตอบทไดนนหมายถงการคานวณของอะไร หลายๆครง

ทเดยวทคณจะไดสตรลดและลบแปลกๆทคนอนไมรจกกน

8. อยารรอทจะสรางสตรใหเหนผลลพธกบตาวาถกหรอผด ถาคณเอาแตกลวๆกลาๆไมยอม

สรางสตรสกทกจะไมมวนเกงสตรไดหรอก ขอใหสรางสตรบอยๆ สตรทผดหรอถก

เหลานนจะเปนบทเรยนสอนคณใหเกงกวาคนอนทไมเคยยอมทาผด

9. ถาปญหาการคานวณซบซอนยากมาก ควรแยกเซลลใหใชเซลลหลายๆเซลลแยก

คานวณสตรแตละขน จากนนจงคอยหาวธนาสตรมาตอกนเปนสตรยาวๆสตรเดยวใน

เซลลเดยว

10. พยายามหาทางแกปญหาสรางสตรดวยตวเองใหได ถาทาไดเองแลวคณจะเกดความ

ภาคภมใจ เกดความกลาและอยากลอง ทาใหเกงขนไปไดเอง อยาลอกสตรคนอนมาใช

ถาพยายามอยางไรแลวคดสตรไมออก ขอใหคนหาคาตอบจาก Google กอนทจะเอย

ปากถามใคร

หวงวาคาแนะนา 10 ขอนจะเปนแนวทางชวยใหคณกลายเปนคนเกงสตร Excel และขอฝากคน

ทชอบใชสตรรนใหมทเพงเกดขนใน Excel 2007 ขนไปวา อยาเพงรบรอนนาสตรใหมๆ เหลานน

มาใช เพราะตราบใดทเพอนของคณยงคงใช Excel รนเกากวาอย เขาจะไมสามารถนาแฟมของ

คณทสรางไวโดยใชสตรรนใหมมาคานวณไดเลย คณนนแหละทจะตองรบภาระยอนกลบไป

แกไขสตรรนใหมใหเปนรนเกาเพอเปดแฟมใน Excel รนเกาทคนอนเขายงไมเลกใชกน

28 

 

Copyright of www.ExcelExpertTraining.com 

Formula vs Function

ทงสองคานถาแปลเปนไทยกแปลวา “สตร” เหมอนกน โดยคาวา Formula เปนคาทม

ความหมายกวางกวา Function กลาวคอ

• Formula หมายถง สตรทกอยางทมเครองหมายเทากบ = นาหนา เชน =A1 หรอ

=1+2 หรอ =Now()

• Function หมายถง สตรสาเรจรปทตดมากบโปรแกรม Excel เชน สตร Sum, Max,

Min, If, VLookup หรอ Now เปนตน

ดงนนเพอทาความเขาใจใหตรงกน ในบทความนจะใชคาวา สตร ซงหมายถงทง Formula และ

Function หรออกนยหนง สตรกคออะไรกตามทมเครองหมาย = นาหนา สวนตวผมเองจะเขยน

อธบายเรองสตรในกระดาษโดยใชตวใหญปนตวเลก เชน Sum หรอ VLookup เพอชวยใหอาน

แตละคาของสตรไดงาย แตเมอถงคราวนาไปใชใน Excel โปรดพมพสตรดวยตวเลกทงหมด

เสมอ

Text vs Number

คาทพมพบนทกลงไปในเซลลหรอผลจากการคานวณมอยเพยง 3 อยางคอ คาทถอเปนText

คาทถอเปน Number และคาท error ไมสามารถนาไปใชคานวณตอได

• Text คอ คาทพมพลงไปในเซลลหรอเกดจากสตรคานวณแลวจะชดซายของเซลล

ทนท (โดยไมตองกาหนด Format) เชน พมพคาวา abc หรอ กขค หรอแมแตตวเลขท

พมพตอทายเครองหมายฝนทอง เชน ‘123 หรอผานการกาหนด Format Number ให

ถอเปนแบบ Text ซงโดยทวไปหากเซลลดานขวายงวางอย จะพบวาถาเซลลม Text ท

ยาวกวาความกวางของเซลล จะยอมให Text นนแสดงตอไปในเซลลดานขวา

• Number คอ คาทพมพลงไปในเซลลหรอเกดจากสตรคานวณแลวจะชดขวาของเซลล

ทนท (โดยไมตองกาหนด Format) เชน พมพตวเลข 123 หรอพมพวนท 14/2/2009

ซงโดยทวไปถาเซลลมความกวางไมพอทจะแสดงตวเลขทงหมด Excel จะแสดงดวย

เครองหมาย ####### ซาจนเตมเซลล (แกไดโดยคลกขวาลงไปในเซลลแลวสง

Format Cells > Alignment > กาชอง Shrink to fit เพอสงให Excel ยอขนาด

ของ Font ใหมขนาดพอดทจะแสดงไดเตมความกวางของเซลล)

• Error เปนผลทเกดจากการคานวณทไมสามารถนาไปคานวณตอได เชน

29 

 

Copyright of www.ExcelExpertTraining.com 

o #N/A เมอสตรหาขอมลทตองการไมพบ (Not Available)

o #NAME? เมอสตรหาชอทตองการไมพบ เชน =answer โดยทในแฟมนน

ไมไดตงชอ Range Name วา answer ไวกอน

o #NULL! เมอสตรหาตาแหนงทตดกนไมได เชน =A:A B:B

o #NUM! เมอสตรใชตวเลขทเปนไปไมไดในการคานวณ เชน =Sqrt(-1)

o #REF! เมอตาแหนงเซลลทเคยอางไวในสตรถก delete ทงไป

o #VALUE! เมอสตรไมสามารถคานวณได เชน นาตวเลขคณตวอกษร =123*a

หลกการใช Excel ทด คอ คาใดๆทเกยวของกบตวเลข กขอใหเปนตวเลขทชดขวาของ

เซลลเสมอ ไมควรใชตวเลขทชดซายของเซลล

ขนาดแฟม vs ประเภทขอมล

ขนาดของแฟมขนกบประเภทของขอมล โดยเรยงลาดบขนาดแฟมจากเลกไปใหญไดตามน

1. แฟมทเกบขอมลเปน Number เชน 1, 111, 123

2. แฟมทเกบขอมลเปน Text เชน a, aaa, abc

3. แฟมทเกบขอมลเปนสตรทคนคาเปน Number เชน =1, =111, =123

4. แฟมทเกบขอมลเปนสตรทคนคาเปน Text เชน =”a”, =”aaa”, =”abc”

ทแปลกกคอ ขนาดของแฟม ไมขนกบความยาวของคาในเซลล เชน ถาเซลลมคาทบนทกไว

เปน 1 หรอเพมความยาวตวเลขเปน 111 หรอ 123 กจะมขนาดแฟมเทากนกบ 1 ตวเดยว หรอ

ถาสรางเปนสตร =1 หรอเพมความยาวตวเลขเปน =111 หรอ =123 จะมขนาดแฟมเทากนกบ

=1

ดงนนถาตองการลดขนาดแฟมใหเลกทสด แทนทจะพมพเลข 1 แลวสรางสตรบวกเลขตอกนไป

ทละเซลลใหกลายเปนลาดบตวเลข 1, 2, 3, 4, 5 กควรพมพเลขลงไปในเซลลโดยตรงแทน

การสรางสตร และสตรใดๆทคานวณเสรจเรยบรอยไปแลวและไมมการเปลยนแปลงคาตอบตาง

จากเดมอกแลว เรากควร Copy แลว Paste Special ใหกลายเปน Value จะทาใหแฟมเลกลง

ไปมากทเดยว

สวนเซลลสตรทเกด Error ขนกควรใชสตร IF ปรบ Error ใหเปลยนเปนคาอนแทน ดงน

30 

 

Copyright of www.ExcelExpertTraining.com 

• ในกรณท A1 คนคาเปน Number ใหใช =IF( IsError(A1), 0, A1)

• ในกรณท A1 คนคาเปน Text ใหใช =IF( IsError(A1), “คาเตอนใดๆกได”, A1)

ซงตวผมเอง นยมใชสตร =IF( IsError(A1), 0, A1) ทงในกรณทเดมคนคาเปน Number หรอ

Text กตาม เพราะสามารถใช Format ปรบการแสดงเลข 0 ใหแสดงเปนคาอนหรอแมแตทาให

ดเหมอนกลายเปนเซลลวางไดตอไป

ตาแหนงเซลลทเลอกสาหรบสรางสตร

เหนหวขอนแลวคงสงสยกนวาตาแหนงเซลลทเลอกสรางสตรลงไปนนเปนประเดนทตองใสใจ

กนดวยหรอ ถาคดกนงายๆวา “ในเมอฉนตองการจะสรางสตรลงไปตรงนกตองตามใจฉน ฉนจะ

สรางสตรลงไปตรงนเสยอยาง ใครจะทาไม” กแสดงวาคณมองขามอะไรทเปนเรองสาคญอยาง

หนงไปแลว

ตาแหนงเซลลทคณสรางสตรหาคาตอบลงไป สามารถชเปนชตายใหกบงานของคณทเดยว

เพราะถาอยมาวนหนง เมอยายเซลลสตรไปทตาแหนงอน สตรทเคยคานวณหาคาตอบไดตลอด

มา อาจคนคาเปนคาตอบทผดหรอแสดงผลลพธแตกตางไปจากเดมกได

วธทดสอบสตรทคณหรอใครสรางขนวาเปนสตรทใชไดหรอไม ใหทดลองยายเซลลสตรไปทอน

ยายไปเรอยๆหลายๆตาแหนง พรอมกนนนทดลองยายตารางขอมลทใชอางองไปทอนดวย ลอง

Insert Row หรอ Column แทรกตารางขอมลเขาไปอก ถาสตรนนยงคงหาคาตอบได

เหมอนเดม แสดงวาสตรนนใชงานได

ทราบไหมวาถาตารางขอมลทเกบคาอยในตารางชวง B2:D5 คณควรสรางสตรคานวณซง

เกยวของกบการใชขอมลในตารางนไวทเซลลใด ซงจะรบประกนวาสตรทสรางขนจะสามารถ

นาไปใชงานตอไดทกท

คาตอบกคอ หามสรางสตรในแนวเดยวกบตารางขอมล นนคอ อยาสรางสตรในชวง Column B

ถง D และชวง Row 2 ถง 5

สาเหตทหาม เพราะการสรางสตรใดๆทมตาแหนงอางองไปยงคาในแนวเดยวกบตารางขอมล

อาจคนคาเปนคาตอบเปนคาในตารางตามแนวเดยวกนกได

31 

 

Copyright of www.ExcelExpertTraining.com 

หากสรางสตรในเซลลซงไมไดอยในแนวเดยวกบชวง Column B ถง D และชวง Row 2 ถง 5

แลวคณหาทางปรบสตรนนใหคานวณหาคาตอบทตองการ ยอมรบประกนไดวา สตรนนเปนสตร

ทใชงานไดจรงและจะยงคงคนคาเปนคาตอบเดมไปตลอด ไมวาจะยายเซลลสตรไปทตาแหนง

อนกตาม

พอพบวาสตรทางานไดจรงแลว จากนนจะยายเซลลสตรไปวางไวในแนวคขนานกบตารางขอมล

ทใชในการคานวณกไมวากน

สตรกมจงหวะหายใจดวยนะ

ผทใช Excel เปนประจาตองรจกสตรตอไปนเปนอยางด =IF(C2=0, 0, B2/C2)

สตรขางตนนคอสตรทใชสาหรบปรบสตรทนาตวเลขมาหารกนไมใหแสดงคาเตอน Error วา

#DIV/0! ขนมา

เมอเซลล C2 ซงเปนเลขตวหารมคาเปน 0 ใหคนคา 0 เปนตวเลขคาตอบแทน แตถาเซลล C2

ไมไดเปนเลข 0 กยอมนา C2 มาหาร B2 ไดตามปกต ผทสรางสตรหารกนจะหลกเลยงสตร

ดงกลาวนไมได

ขอถามวา เวลาทคณสรางสตร คณมพฤตกรรมในการสรางสตรกนอยางไร คณจะพมพลงไปใน

เซลลวา =if(c2=0,0,b2/c2) รวดเดยวใหครบทงหมดแลวจงกดป ม Enter หรอไม หรอจะคอยๆ

พมพ =if แลวหยดหายใจพกหนงแลวจงพมพ c2=0 ตอ แลวกหยดพกหายใจอกเฮอกหนงจง

คอยๆพมพสวนทเหลอตอ

ขอผดพลาดทพบบอยในการสรางสตรของคนทเพงเรยนรการใช Excel กคอ มกหลงลม

เครองหมายวงเลบ พมพเครองหมาย Comma ขาดไป บางครงพมพสลบท บางครงพมพขาด

บางครงพมพเกน ทาใหเมอกดป ม Enter ลงไปแลว Excel ตองเตอนขนมาบนจอใหคณทราบวา

สตรทสรางนนผด

ผสรางสตรตองมสมาธพอตว สมาธทวานเกดจากการรจกวาเมอใดจะหยดเมอใดจะสรางตอ ถาร

หลกจงหวะหายใจจะชวยใหคณสรางสตรไดงายขน ไมวาสตรสนๆหรอสตรยากๆยาวๆกใชหลก

จงหวะหายใจนกนทงนน

32 

 

Copyright of www.ExcelExpertTraining.com 

จงหวะหายใจทวาน ไมใชจงหวะหายใจของ Excel หรอกนะ Excel มนไมไดมการหายใจ

เหมอนกบมนษย แตเปนจงหวะหายใจของคณนนแหละ ตองรวาเมอใดทควรจะหยดแลวหายใจ

สกเฮอกหนงแลวจงสรางสตรตอ ซงเรองการหายใจนไมตองลอกจงหวะการหายใจใหเหมอนกบ

ผมกได ตวใครตวมน ขอใหเลอกจงหวะหายใจทตวเองคดวาถนดกแลวกน

ขอยกสตรทงหมดมาดกนอกครง

=IF(C2=0, 0, B2/C2)

มาดกนวาถาเปนวธของผม จะสรางสตรนโดยหยดพกเพอหายใจกนตรงไหนบาง เอาหายใจเขา

แลวนะ จากนนเรมสรางสตรโดยใชวธตามลาดบตอไปน

1. พมพเครองหมายเทากบ

2. พมพคาวา if(

3. หยดเพอหายใจ จากนนสรางสตรตอดวยขนตอไป

4. หยบเมาสคลกเซลล C2

5. แลวพมพ =0, ตอ

6. หยดเพอหายใจ

7. ในใจอานสตรทไดตามน =if(C2=0, วาถาเซลลตวหารมคาเทากบ 0 ละกอ

8. พมพ 0, ตอ

9. หยดเพอหายใจ

10. ในใจอานสตรทพมพ 0, วา ใหคาตอบทไดเปน 0 แทนนะ จากนน

11. หยบเมาสคลกเซลล B2

12. พมพเครองหมายหาร /

13. แลวหยบเมาสคลกเซลล C2

14. หยดเพอหายใจ

15. ในใจอานสตร B2/C2 ทไดมาวา แตถาตวหารไมใชเลข 0 ใหคาตอบทไดเปนสตรหาร

กนตามปกต

16. จากนนจงกดป ม Enter รบสตรลงไปในเซลล โดยไมตองพมพเครองหมายวงเลบปด

เพราะถามวงเลบเปดตวเดยว Excel จะพมพเครองหมายวงเลบปดใหเอง

จบหลกไดไหมเอย ขอใหสงเกตวาใหหยดเพอหายใจไดหลงจากพมพจบตรงเครองหมายนนๆ

ไง ถาใชเครองหมายจดจดแทนชวงหยดเพอหายใจ จะไดสตรตามแบบน

33 

 

Copyright of www.ExcelExpertTraining.com 

=if(.........C2=0,.........0,......... B2/C2

ฝกหยดเพอพกหายใจใหไดจงหวะ วธนจะชวยลดขอผดพลาดหลงลมการใสเครองหมายวงเลบ

หรอเครองหมาย Comma ในการสรางสตรไปไดเยอะทเดยว

ธรรมชาตของสตร

ถาเขาใจธรรมชาตตอไปนของสตร จะทาใหเราใชสตร Excel ไดงายโดยไมตองทองจาและลด

ขอผดพลาดเมอนาสตรมาใช

1. ชอสตรเปนตวอกษรภาษาองกฤษตวใหญ เชน IF, MAX, MIN ดงนนเวลาพมพสตรใหพมพ

ตวเลก พอกดป ม Enter แลวจะพบวา ถาเราสะกดชอสตรถกตอง Excel จะเปลยนตวอกษร

จากตวเลกไปเปนตวใหญทงหมดใหทนท

2. เราสามารถพมพสตรโดยถาในสตรมเครองหมายวงเลบเปดเพยงวงเลบเดยว พอกดป ม

Enter จะพบวา Excel พมพเครองหมายวงเลบปดใหเอง แตถามวงเลบเปดหลายตว เราตอง

ใสเครองหมายปดวงเลบใหครบทกค เพราะถากดป ม Enter ลงไป Excel จะพยายามคดใส

เครองหมายวงเลบปดใหครบแตอาจใสวงเลบปดผดคใหกได

3. วงเลบในสตรตองใสใหครบคและถกตาแหนง มวงเลบเกนดกวาขาดวงเลบ

4. ถาไมใสวงเลบ Excel จะไลคานวณตามลาดบดงน ยกกาลงกอนแลวตามดวยคณหรอหาร

แลวตามดวยบวกหรอลบ (คณหาร หรอบวกลบ มศกดศรเทากน จะไลคานวณจากซายไป

ขวาแลวแตวาเครองหมายใดมกอน) ดตวอยางทายขอ 7

5. โครงสรางสตร Excel ถกสรางขนมาเลยนแบบลาดบความคดของมนษย ดงนนถาเราเขาใจ

ตวเองวาเรามองเราคดทละขนอยางไร เรากจะสรางสตรไดงายโดยไมตองทอง เชน เวลา

เราคดเรองเงอนไขวา ถาทาด ตองไดด แตถาไมทาด ตองไดเรองอนๆ ตวสตร IF ของ

Excel กจะมลาดบในโครงสรางสตรตามแบบทเราคดออกมาเปน =IF(ทาดใชไหม, ไดด,

ไดอนๆ) ขอใหอานรายละเอยดประเดนนจากบทความเรอง เมอสตร Excel มชวตจตใจ หรอ

จากลงค www.excelexperttraining.com/blogs/archives/z300-ExcelCore000706.php

6. ในโครงสรางสตร ถามการอางองกบตาแหนงเซลลตามแนวนอนและแนวตง จะตองใส

ตาแหนงอางองตามแนวนอนไวกอนแนวตงเสมอ ดไดจากสตร Index หรอสตร Offset

(ดงนนเราควรสรางสตรคานวณบวกลบคณหารอนๆใหใชตาแหนงอางองตามแนวนอนกอน

แนวตงดวยเชนกน เพอเปนแบบแผนชวยใหเขาใจทไปทมาและแกะสตรไดงาย)

34 

 

Copyright of www.ExcelExpertTraining.com 

7. ถาในโครงสรางสตรประเภทฐานขอมล มตวแปร (Option) ทอาจใสหรอไมใสกได เชนสตร

VLookup หรอสตร Match ขอใหยดหลกวา

7.1. ถาไมใส Option หรอละไว หรอใสตวเลข 1 นน สตรนจะใชกบตารางขอมล ทเรยงคา

จากนอยไปมาก (จาไววาเรยงตามธรรมชาตตองเรยงจากนอยไปมากเสมอ)

7.2. ถาใส Option เปน False หรอใสตวเลข 0 สตรนจะใชกบตารางขอมลทไมเรยงลาดบ

(จาไววา 0 แปลวาไม หมายถงไมตองเรยงลาดบ)

7.3. ถาใส Option เปนตวเลข -1 นน สตรนจะใชกบตารางขอมล ทเรยงคาจากมากไปนอย

(จาไววาเรยงผดธรรมชาตตองเรยงจากมากไปนอย)

ตวอยางลาดบการคานวณตามเครองหมายบวกลบคณหาร

ถาสรางสตร =1+2-3*4/5^6 ลงไปในเซลล Excel จะคานวณตามหลกการดงน

1. คานวณเครองหมายยกกาลง ^ กอน นนคอจะคานวณ 5^6

2. ตามดวยการคานวณคณหรอหาร แลวแตวาเครองหมายใดมากอนจากซายไปขวา นนคอ

จะคานวณ 3*4 แลวจงนาผลคณทไดไปหารดวยคาตอบทไดจาก 5^6

3. ตามดวยการคานวณบวกหรอลบ แลวแตวาเครองหมายใดมากอนจากซายไปขวา นนคอ

จะคานวณ 1+2 แลวจงนาผลบวกทไดไปลบกบผลลพธทไดจาก 3*4/5^6

จะสรางสตรใหวนกนไปไดแคไหน

สตรสาเรจรปของ Excel 2003 ทเราใชกนจนชน (จนไมอยากเปลยนมาใช Excel 2007 หรอ

Excel รนทใหมกวา) มขอกาหนดในตวสตรวา ในวงเลบของสตรสาเรจรปหนงๆนน สามารถซอน

สตรเขาไปไดอก 7 สตร และในวงเลบของบางสตรจะถกแบง Argument หรอตวแปรทคนดวย

เครองหมาย comma แบงไดสงสด 30 Arguments (หรออกนยหนงใส Comma ไดสงสด 29

ตวเพอแบงสวนในวงเลบออกเปน 30 สวน) และสตรทยาวทสดทสามารถพมพลงไปในเซลล

หนงๆไดนน ยาวไดสงสด 1,024 ตวอกษร

ขอกาหนดเหลานนบวาเพยงพอกบการคานวณทวไป นานๆทจงมโจทยทตองใชจนเกนกวา

ขดจากด ซงแกไขไดงายๆโดยแยกการคานวณเปนสวนๆ แลวแบงแตละเซลลใหแยกคานวณ

แตละสวนของสตร จากนนจงนาผลการคานวณทไดมาคานวณรวมกนตอเปนขนๆ หรอไมกตอง

ฉลาดเลอกใชสตรอนทคานวณไดคาตอบแบบเดยวกนแทน

35 

 

Copyright of www.ExcelExpertTraining.com 

สาหรบสตรสาเรจรปใน Excel รน 2007 เปนตนมา ปรบขอกาหนดดงกลาวเปนดงน

1. ในวงเลบของสตรสาเรจรป สามารถซอนสตรเขาไปไดอก 64 สตร (Nested levels of

functions)

2. ในวงเลบของสตรสาเรจรป สามารถแบงออกเปน 255 arguments (Arguments in

Functions)

3. ในเซลลหนงๆรบสตรไดยาวทสด 8,192 characters (Length of formula contents)

ขอกาหนดเหลานเปดกวางใหเราสรางสตรไดสบายขน ซงขอแนะนาวาอยาใชความสบายจนเกน

ตว เพราะตวคณนนแหละทจะถกลงโทษหากสรางสตรแบบสบายเกนไป เพราะหากตอง

ยอนกลบมาแกะสตรเพอแกไขอกในภายหลง มนไมใชงานทงายเลยทจะแกะสตรซอนกนหลาย

สบชน

พงระลกไวเสมอวา สตรทคณสรางตงแตแรกนน ตองเปนสตรทใชงานไดตลอดไปโดยไมตอง

ยอนกลบมาแกไขสตรอก แตถาจาเปนตองแกไขสตร กตองแกไขไดงาย ไมวาคณหรอเพอน

ของคณกตองแกะสตรไดงาย

ดงนนการท Microsoft ปรบขอจากดของสตรใหยดหยนมากขนน ถาสตรใดทคณคดวามเงอนไข

ของการคานวณไมยากนก"ตอการจาของคณ"และงายทจะยอนกลบมาแกไข กเชญซอนสตรเขา

ไปหลายๆชนไดตามใจ แตถามทางเลอกอนทดกวา เชน มสตรอน หรอตองปรบโครงสราง

ตารางเสยใหมเพอใหเขากบสตรนน กขอแนะนาใหตดสนใจเลอกใหด

สตรทหาคาได กใชบอกตาแหนงได

เชอไหมวาเรองทจะอธบายนแทบทกคนทใช Excel ทราบกนดอยแลว ใชกนอยทกวน แตนกไม

ถงวาสตรทหาคาได จะใชบอกตาแหนงทแปลกแตกตางจากทเขาใจกนอยางไร

พอสรางสตรลงไปในเซลลใดๆกตามวา =A1 สตรนกจะดงคาจากเซลล A1 มาแสดงใหเหน

และพรอมกนนนเรากจะทราบดวยวา คาทไดนมาจากเซลล A1 เพราะดจากตวสตรทใชตาแหนง

อางอง =A1 นนเอง

ทพเศษไปกวาน หากคณตดกาในชอง Allow edit directly in cells ทงไป (ใน Excel Options

> Advanced หรอใน Excel 2003 ใชเมน Tools > Options > Edit) จะพบวาเมอดบเบลคลก

ทเซลลสตร =A1 จะยายตาแหนง cursor ไปทเซลลตนทาง A1 ใหทนท

36 

 

Copyright of www.ExcelExpertTraining.com 

สงทอธบายขางตนนเคยอธบายมาหลายตอหลายครงในการอบรมและในเวบ

ExcelExpertTraining.com ซงพฤตกรรมแบบนแหละทนาไปสเรองแปลกทคาดไมถง จากเดม

ทเขยนวา "สตรทหาคาได กใชบอกตาแหนงได" ขอเขยนใหมใหละเอยดชดเจนกวาเดมวา

สตรใดๆทสามารถหาคาทเกบไวจากตารางไดโดยตรง สตรนนยอมเปนสตรทบอก

ตาแหนงได โดยอยาสรางสตรนนลงไปในเซลล แตตองนาสตรนนไปซอนในสตรอนกจะ

กลายเปนสตรทบอกตาแหนง

ยกตวอยางเชน สตร =INDEX(A1:B10,5,2) เปนสตรหาคาจากตารางขอมลชวง A1:B10 ใน

ตาแหนง Row 5 ตดกบ Column 2 จะไดคาจากเซลล B5

ถาอยากจะตามไปดวาเซลล B5 อยทไหนโดยไมตองนงแกะสตรวา Row 5 ตดกบ Column 2

คอเซลลใด ใหหยบเมาสคลกลากทบสตร =INDEX(A1:B10,5,2) ทแสดงบน Formula Bar

จากนนกดป ม F5 แลวกดป ม Enter จะพบวาสตร =INDEX(A1:B10,5,2) เปลยนไปเปน =B5

ใหทนท พอเหนดงนแลวใหกดป ม Esc เพอทาใหสตรคนสสภาพเดม

ยงกวานน ถา Copy สตร =INDEX($A$1:$B$10,5,2) ไวกอนแลวกดป ม F5 แลวกดป ม Ctrl+v

เพอ Paste สตรนลงไปในชอง Reference แลวกดป ม Enter จะพบวา Excel พาคณยาย

ตาแหนงไปทเซลล B5 ใหเลย (สงเกตวาวธนตองกาหนดตาแหนงอางองเปน Absolute คอ

$A$1:$B$10 กอนดวย)

ยงกวานของยงกวานนอก ถานาสตร INDEX(A1:B10,5,2) ไปซอนในสตรอน เชน สตร Offset

จะทาใหสตร INDEX(A1:B10,5,2) ทาหนาทช ตาแหนงตอใหกบ Offset

ขอใหสรางสตร =OFFSET(INDEX(A1:B10,5,2),2,3) แลวลองใชวธขางตนคนหาวาหมายถง

เซลลใด จะพบวาเปนเซลล E7 ใชไหม เพราะเซลล E7 เปนเซลลทอยถดลงมาจากเซลล B5

จานวน 2 row และถดไปดานขวาจานวน 3 column เทยบเทากบการใชสตร

=OFFSET(B5,2,3) นนเอง

แตถาสรางสตร =INDEX(A1:B10,5,2) ไวในเซลล D12 แลวใชสตร Offset อางถง D12 ใน

แบบ =OFFSET(D12,2,3) จะพบวา D12 ไมไดชวยบอกตาแหนงตอใหกบสตร Offset เพราะ

สตร Index ในเซลล D12 ทาหนาทหาคาจากเซลล B5 มาแสดงเสรจกจบหนาทไปแลว

37 

 

Copyright of www.ExcelExpertTraining.com 

สตรทสามารถหาคาทเกบไวจากตารางไดโดยตรง ซงทางานไดแบบทอธบายน ไดแก If,

Choose, Index, Offset, Indirect (แตไมรวมสตร VLookup เพราะมนไมไดหาคาไดโดยตรง)

ซงไมจาเปนตองคนคาเพยงคาเดยวเปนตาแหนงเซลลเดยว โดยสามารถคนคาเปนตารางเพอ

ใชบอกตาแหนงตารางทงตารางกยงได

ดตวอยางประกอบบทความนไดจาก

"www.excelexperttraining.com/forums/content.php?r=191-สตร-ตาแหนงอางอง"

จานวนเซลลสตรเดยว

ผสรางสตร Excel ทวไป คนเคยกบการสรางสตรหนงทคนคาเพยงหนงคา หรออกนยหนง

เรยกวา สตรเดยวคนคาเดยว ซงสรางลงไปในเซลลเดยว แตนอยคนนกทจะทราบวา สตร Excel

สตรหนงๆสามารถคนคาเปนคาตอบไดหลายคากเปนไปไดเหมอนกน สตรพวกหลงนเรยกวา

สตร Array

การทเราเลอกเซลลเดยว แลวพมพสตรลงไปในเซลลเดยวนน มสาเหตเนองจากสตรนนคนคา

ไดคาตอบเพยงคาเดยว

ถาสตรหนงๆคนคาเปนคาตอบไดหลายคา หากสรางสตรนนลงไปในเซลลเดยว ยอมไมถกตอง

แมจะเหนคาตอบแสดงขนมากตาม เพราะคาตอบทแสดงขนมาใหเหนนนเปนเพยงคาตอบแรก

คาตอบเดยว เราหมดโอกาสทราบคาตอบคาอนๆ

พออานถงตรงน คนทไมรจกกบสตร Array คงเรมสงสยวา สตรแบบไหนกนทมคาตอบไดหลาย

คาในสตรเดยว มาทดลองโดยเรมจากพมพคาใดๆกไดลงไปในเซลล A1:A3 สมมตวาพมพ 11,

22, 33 ตามลาดบ

38 

 

Copyright of www.ExcelExpertTraining.com 

แลวสรางสตร =A1:A3 ลงไปในเซลล B1 จะเหนคาตอบเปนเลข 11 คาเดยวใชไหม

จากนนใหแกะดคาทแทจรงในสตร โดยกดป ม F2 ตามดวยป ม F9 จะพบวาสตร =A1:A3

เปลยนเปน ={11;22;33}

ขอใหสงเกตวาเครองหมายวงเลบ { ทเกดขนนนอยหลงจากเครองหมายเทากบ ซงแสดงคา

แบบ Array และระหวางตวเลขจะมเครองหมาย semi-colon ; คน ซงแสดงวาคาถดไปอยใน

Row ถดไป (หรอขน Row ใหม)

พอเหนคาแลววาสตรนม 3 คาและแตละคาอยตามแนวตง กใหกดป ม Esc เพอยอนกลบไปเปน

สตร =A1:A3 ตามเดม

คราวนถงขนตอนสาคญ หากตองการกระจายคาแตละคาในสตร Array ลงไปในเซลล ใหเรม

จากเลอกเซลล 3 เซลลตามแนวตง (เพราะเราทราบจากการแกะสตรมากอนแลววามคา 3 คา

ตามแนวตง) โดยจะเลอกทตาแหนงใดกไดในชท จากนนสรางสตร =A1:A3 ลงไปแลวกดป ม

Ctrl+Shift+Enter พรอมกน จะพบวา Excel กระจายคาในสตรลงไปในเซลลแตละเซลลใหเหน

จนครบ และตวสตรเปลยนเปน {=A1:A3} โดยสงเกตวาคราวนเครองหมาย { ตวแรกวางไว

กอนเครองหมายเทากบ แสดงวาเปนวงเลบปกกาทเกดจากการกดป ม Ctrl+Shift+Enter

(ไมใชวงเลบปกกาทใชกากบลาดบของคาทตองอยหลงเครองหมายเทากบ)

ประโยชนของการเลอกจานวนเซลลใหครบเหมาะกบจานวนและแนวของคาทตองการน จะชวย

ใหเราเหนคาทกคากระจายตวลงไปในเซลลแตละเซลล ทาใหประหยดเวลาไมตองคอยกดป ม

F2 ตามดวย F9 เพอแกะสตรเปนครงๆไป อกทงสตรทสรางขนพรอมกนทเดยวหลายเซลล จะ

ทาให Excel เสยเวลาในการคานวณเพยงครงเดยว

วธแก error #VALUE! ดวย Lotus 1-2-3

เมอนาเซลลทมคาเปนตวเลขมาบวกดวยเซลลทมคาเปนตวอกษรโดยการสรางสตรบวกทนา

เซลลมาบวกกน เชน =A1+A2 จะพบวาไดคาตอบเปน #VALUE! นน เราสามารถสงให Excel

คานวณหาคาตอบเปนยอดรวมเฉพาะตวเลขไดโดยใชสงให Excel คานวณแบบ Lotus 1-2-3

ใน Excel 2010 เรมจากสง File > Options > Advanced > แลวเลอนจอไปดานลางสดจะพบ

Lotus compatibility Settings for: ชอชททตองการใหคานวณแบบ Lotus 1-2-3 โดยใหกา

39 

 

Copyright of www.ExcelExpertTraining.com 

ชอง Transition formula evaluation (Excel 2007 ใหคลกป ม Office แทน File หรอ Excel

2003 สง Tools > Options > Transition > กาชอง Transition formula evaluation)

คาสง Transition formula evaluation นเกดขนในสมยทคนทงโลกยงนยมใช Lotus 1-2-3 กน

ดงนนเพอชวยทาใหคนเปลยนใจมาใช Excel ไดงายขน ทางไมโครซอฟทจงสรางคาสงนข น

เพอใหพวกเราสามารถนาแฟมทสรางจาก Lotus 1-2-3 มาเปดใชใน Excel ตอไดทนทโดย

Excel จะเปลยนระบบการคานวณในชททเลอกไวใหคานวณตามแบบท Lotus 1-2-3 ใชนนคอ

ใน Lotus 1-2-3 ถอวาตวอกษรมคาเทากบ 0 (สวน Excel ถอวาตวอกษรมคามากกวาเลขทง

ปวง)

นอกจากนนหากกาชอง Transition formula entry จะชวยทาใหสตรทสรางจาก Lotus 1-2-3

release 2.2 ถกเปลยนเปนสตรของ Excel ใหทนทเมอเปดแฟมทใชสตรนนดวย Excel

สวนชอง Transition navigation keys จะเปลยนพฤตกรรมของป มลกศร ป ม Tab หรอป มใดๆท

ทาหนาทเคลอนยายตาแหนงเซลลทเลอก ใหทาตามท Lotus 1-2-3 ใช ซงชวงแรกกวาผมจะ

หนมาใช Excel อยางเตมตว ตองอาศยกาชองนอยนานเพราะมอยงไมคนกบป มทเคยเลอนไป

เลอนมาตามแบบทตวเองเคยชน

40 

 

Copyright of www.ExcelExpertTraining.com 

ตวอกษรมไดมคาเทากบ 0

กอนจะจบบทความน ทราบไหมวา ตวอกษร a หรอตวอกษรใดๆกตามทบนทกลงไปในเซลล

มไดถอวามคาเทากบ 0 หรอกนะ ถาไมเชอ สมมตวาเซลล A1 มคาเปน a ขอใหลองสรางสตร

=A1=0 ดกไดจะพบวาไดคาตอบเปน FALSE สวนสตร =A1>999999999 จะไดคาตอบเปน

TRUE

Excel ถอวาตวอกษรใดๆมคามากกวาเลขทงปวง อกนยหนงมคาเปน Infinity หากสรางสตร

=Sum(A1,123) แลวไดคาตอบเทากบ 123 เปนเพราะ Excel จะละเลยไมนาตวอกษรมา

คานวณในสตร Sum นแหละเปนเรองทหลายๆคนชอบเขาใจผดกนวา ตวอกษรมคาเปน 0

ถาสรางสตร =A1+123 จะไดคาตอบเปน #VALUE! เพราะ Excel จะไมยอมรบการนาตวอกษร

มาบวกกบตวเลข แตเราสามารถเปลยนพฤตกรรมของ Excel ใหคดแบบ Lotus 1-2-3 ไดตาม

คาอธบายขางตน

ถาถามวาระหวางสตรบวกกบสตร Sum เราจะเลอกใชการบวกเลขวธใดกบงานสาคญ

คาตอบกคอ ตองเลอกใชสตรบวก เพราะหากมการบนทกตวเลขผด กลายเปนบนทกตวอกษร

ลงไปแทน จะพบวา Excel ไมยอมคานวณให โดยไดคาตอบเปน #VALUE! ซงเทากบชวย

เตอนเราใหทราบวาเกดขอผดพลาดขนมาในระหวางการบนทกขอมลนนเอง

41 

 

Copyright of www.ExcelExpertTraining.com 

การแบงขอบเขตพนทตาราง

ในชทของ Excel 2007 เปนตนมามพนทตารางใหญกวารนกอนอยางมาก จากเดมมเพยง

65,536 row และ 256 column ไดปรบเพมเปน 1,048,576 row และ 16,384 column ซงถา

คณพมพคาลงไปแลวพยายาม paste ใหครบทกเซลลในชท จะพบวา Excel ตองใชเวลานาน

แสนนานทเดยวกวาจะไดขอมลเตมทงชท และเมอสง save จะไมม hard disk เครองไหนท

สามารถเกบแฟมขอมลนนได เพราะแฟมจะมขนาดใหญเกนกวาจะรบได (ขออยาพยายาม

ทดลองทาตามนเดดขาด เพราะคณจะรอไมไหวแลวตองหนไปปดเครองคอมพวเตอรไปกอนท

จะ save เสรจ)

สาเหตท Excel ขยายขนาดตารางใหใหญขนจนดเหมอนใหญกวาความจาเปน มไดมงใหคณ

จาเปนตองใชใหครบทกเซลล เพยงแตจะชวยใหสามารถรบขอมลจากโปรแกรมอนเขามาเกบไว

ในชทไดสะดวกขน และเมอคณหนมาใช Excel 2007 แลวกมไดหมายความวาจากนไปคณไม

จาเปนตองใชโปรแกรมฐานขอมลอนอกตอไป เพราะในทสดแลวเมอขอมลมปรมาณมากขนและ

มความสมพนธในตวฐานขอมลซบซอนตามขนไปแลว โปรแกรมทสรางขนมาเพอจดการ

ฐานขอมลโดยเฉพาะยอมเหมาะกวาอยด

อยาวาแตขนาดของตารางทมขนาดใหญสามารถรบขอมลไดมากขนนเลย ตอใหใช Excel 2003

ทมขนาดตารางเลกกวา หากผใช Excel ไมเปน พอนาขอมลมาเกบไวในชทอยางไมมหลกการ

แลวเมอถงเวลาจะตองแยกขอมลออกจากกนเปนสวนๆกจะทาไดยาก จงขอเสนอใหใชหลก

ICO แบงขอบเขตพนทตาราง กลาวคอ

1. ใหแบงแยกตารางขอมลออกเปน 3 ประเภท คอ ตาราง Input, ตาราง Calculate, และ

ตาราง Output (หรอใชตวยอวา ICO)

2. ตาราง Input คอ ตารางทใชเกบขอมลทพมพลงไปหรอเปนขอมลทรบมาจากโปรแกรม

อน หรออกนยหนงเปนตารางฐานขอมลนนเอง ตาราง Input นตองออกแบบใหโครงสราง

ของตารางมลกษณะดงน

2.1. หวตารางดานบน ตองเปน row เดยว ซงอาจแตงขอความในเซลลใหแสดงเปนหลาย

บรรทดได โดยกดป ม Alt+Enter เพอขนขอความในบรรทดใหมในเซลลเดม

2.2. ตองบนทกขอมลใน column ใด column หนงตดตอกนไปตลอด หามเวนชองวาง ซง

โดยทวไป column ซายสดมกจะมขอมลตดตอกนไปอยแลวเนองจากเปนขอมลของ

เลขทรายการ หรอขอมลรหส หรอขอมลวนทซ งเรยงไปตามลาดบรายการทเกดขน

42 

 

Copyright of www.ExcelExpertTraining.com 

2.3. ตองเวนขอบตารางไมวาจะเปนขอบดานบนลางซายขวาอยางนอยขางละ 1 เซลล หาม

นาตาราง Input ไปตดกบเซลลขอมลอนซงไมใชขอมลเรองเดยวกบตารางขอมลนน

3. ตาราง Calculate คอ ตารางทใชสรางสตรคานวณ ไมจาเปนตองมโครงสรางตามแบบ

ของตาราง Input แตในตาราง Calculate นคณตองหาทางสรางสตรทเซลลหวมมเปนสตร

ฉลาดทสามารถปรบตาแหนงอางองไดเอง และในขณะทสรางสตรตองใชป ม F4 เพอใส

เครองหมาย $ เพอควบคมตาแหนงอางองในสตรไปยงเซลลทบนทกคาตวแปรทใชคานวณ

ไว ซงโดยทวไปเซลลคาตวแปรจะวางไวตามแนวคขนานกบแนวของตาราง Calculate เพอ

ชวยใหเครองหมาย $ ทใสไวในสตร ทาหนาทควบคมตาแหนงของแนวของเซลลตวแปรไว

เพอนาคามาใชคานวณนนเอง

4. ตาราง Output คอ ตารางแสดงผลลพธทตองการ โดยตารางนจะออกแบบใหมหนาตา

อยางไรกไดตามแตวาจะนาไปแสดงผลบนจอภาพหรอในหนากระดาษทสงพมพ

สาเหตทตองใชหลก ICO แยกขอมลแตละประเภทออกจากกน เพอชวยทาใหเราสามารถใช

Excel รองรบกบขอมลทมปรมาณมากขนไปเรอยๆไดตลอด ซงในชวงแรกทยงมขอมลไมมาก

นก อาจใชชทเดยวเกบขอมลทง I C และ O ไวดวยกน จากนนเมอมปรมาณขอมลมากขนหรอ

ขอมลมความสลบซบซอนมากขนจงคอยยายตารางแยกไปเกบในชทอนหรอแฟมอนไดทนท

โดยไมกระทบกบสตรคานวณทสรางไว

ขอผดพลาดทพบเหนบอยครงเกดจากการออกแบบตารางตามแบบรายงานทตองพมพ เชน

หากมรายงานยาว 100 หนา กมกออกแบบตารางใน Excel ใหยาวเหยยดตอๆกนลงมาทง 100

หนาแลวจงสงพมพออกไปทละหนา ซงวธนทาใหแฟมมขนาดใหญและยากตอการแกไขเพราะ

จาเปนตองยอนกลบไปไลแกไขในตารางแตละหนา

แตหากออกแบบตารางแบบ ICO เปน ใหเรมจากแยกตารางขอมลทเปน Input ออกไป แลวใช

สตรดงคาจากตาราง Input มาคานวณในตาราง Calculate จากนนจงดงผลลพธทคานวณเสรจ

แลวไปสรางตาราง Output ซงจดสาคญอยทตาราง Output นแหละ โดยเราตองหาทางสราง

ตาราง Output ไวเพยงหนาเดยว จากนนตองสรางสตรดงขอมลแตละหนามาแสดงในตาราง

Output หนาเดยวนใหได ชวยใหแฟมมขนาดเลกและแกไขไดงายกวามาก

สมมตวาหนากระดาษทพมพม 30 บรรทดตอหนา ดงนนพอพมพเลขหนาท 1 ลงไป ตองสราง

สตรดงผลลพธบรรทดท 1 - 30 มาแสดงในหนาน จากนนพอเปลยนเลขหนาเปนเลข 2 กจะได

บรรทดท 31 – 60 มาแสดง พอเปนหนา 3 กไดบรรทดท 61 - 90 มาแสดง ซงสตรทดงขอมล

เชนนไดกคอสตร VLookup, Match, Index เปนตน

43 

 

Copyright of www.ExcelExpertTraining.com 

การจดเตรยมพนท ICO เพอรบขอมลและปองกนการแกไข

แฟมทสรางเสรจพรอมใชงาน ตองมระบบแยกแยะตาแหนงตารางทเปดใหรบคาใหมไดพรอมทง

หาทางปองกนตารางทไมตองการใหใครเขาไปแกไข โดยตองพจารณาจากพนทตารางแตละ

สวน กลาวคอ

1. ตาราง Input เปนพนทสวนทเปดใหผใชงานสามารถพมพคาใหมลงไปได โดยมขนตอน

ในการจดเตรยมพนทดงน

1.1. คลกเลอกพนทตารางสวนทเปน Input (หากมหลายพนทไมตดตอกน ใหกดป ม Ctrl

คางไวกอนแลวคลกเลอกพนทแตละสวน แลวอาจกาหนดส Font ใหแตกตางจากสวน

อน ซงผมเองชอบใชสชมพเพอบอกผใชวาเปนเซลล Input)

1.2. คลกขวา สง Format Cells > Protection > แลวตดกาชอง Locked ทงไป

1.3. สง Review > Protect Sheet (Excel 2003 ใชคาสง Tools > Protection > Protect

Sheet)

1.4. หลงจากท Protect Sheet เสรจ เมอพมพขอมลใหมลงไปในเซลลทเปน Input แลว

ใหกดป ม Tab ซงจะพบวา Excel จะกระโดดไปเลอกเซลล Input ตอไปใหเอง

2. ตาราง Calculate และตาราง Output เปนพนทซ งมเซลลสวนใหญเปนสตรซงเมอสราง

เสรจแลว ควรปองกนไมใหใครเขาไปดสตร แกไขสตร หรอลบสตรทงไดอก โดยมขนตอน

ในการจดเตรยมพนทดงน (ถาชทถก Protect อยตอง Unprotect Sheet กอน)

2.1. คลกเลอกพนทตารางสวนทเปนตาราง Calculate และตาราง Output

2.2. คลกขวา สง Format Cells > Protection > แลวกาชอง Hidden เพอซอนการ

แสดงสตรทจะเหนบน Formula Bar และยงปองกนไมให Copy สตรออกไปไดดวย

โดยจะ Copy เฉพาะคาผลลพธออกไปไดเทานน (หามตดกาชอง Locked ทงอยาง

เดดขาด) และตองทาขนตอนตอไปกอนดวยจงจะเหนผล

2.3. สง Review > Protect Sheet (Excel 2003 ใชคาสง Tools > Protection > Protect

Sheet)

44 

 

Copyright of www.ExcelExpertTraining.com 

การกาหนดตาแหนงอางอง

ขามชทหรอขามแฟม

ผมเรมตนใชโปรแกรม Excel ตงแตยคทในแฟมหนงๆยงมชทใหใชงานไดเพยงชทเดยวและยง

ไมสามารถใชสตรเชอมขอมลจากแฟมอนมาใชงานรวมกน ในยคนนตองออกแบบตารางทงหมด

ลงไปในชทเดยว ตอมา Excel ถกพฒนาใหสามารถสงขอมลจากแฟมหนงออกไปยงแฟมอนได

แตกยงไมสามารถทาหนาททงรบทงสงขอมลกลบไปกลบมาระหวางแฟมเชนท Excel ในรน

ปจจบนทาได ซงถาดใหดจะพบวาสงท Excel สามารถสงขอมลกลบไปกลบมาไดนนเปนเพราะ

เราถก Excel หลอกใหดเหมอนวามหลายชทหรอมหลายแฟม...แคนนเอง

ขอใหจาไววา ไมวาจะเปนตางชทหรอตางแฟม พอเปดแฟมขนมาใชงานพรอมกน มนก

คอชทเดยวกนนนแหละ

การทเราเหนวาในแฟมหนงๆมหลายชทนน เปนภาพลวงตาทชวยใหผใชงานสามารถแยกเกบ

ขอมลตางเรองไวในชทตางกนไป สวนขอมลท link ขามแฟมไดนน ถาคณใช Excel รนแรกๆมา

กอนอยางผม พอสง Unhide Sheet จะพบวาในแฟมปลายทางมชทหนงถกซอนไว โดยชทนใช

เกบขอมลจากชทตนทางไวทงหมด ดงนนขอมลทไดมาจากสตร link ขามแฟม ถาวากนให

ถกตอง ไมไดเปนผลจากสตรท link มาจากแฟมตนทางโดยตรง แตเปนขอมลทไดมาจากชทท

ซอนไวภายในชทปลายทางในแฟมเดยวกนกบแฟมทมสตร link นนเอง โดยเรยกขอมลทเกบ

ในชทนวา Cache Data ซงสงผลใหแฟมปลายทางมขนาดแฟมใหญกวาปกตตามไปดวย

(ตอมา Microsoft ไดปรบปรงให Excel ซอนชทนไวโดยไมสามารถคนหาพบเชนแตกอน)

ถาคณสามารถสรางสตร link ขอมลภายในชทเดยวกน กขอใหใชวธเดยวกนในการ link ขอมล

ขามชทหรอแมแตขามแฟม ขอเพยงอยากลวภาพลวงตาททาใหเหนวาเปนตางชทหรอตางแฟม

กนเพราะความจรงมนกคอชทเดยวกนนนเอง ซงกอนทจะใชวธสรางสตร link ทนยมใชกน

ตอไปน ขอใหเปดแฟมทกแฟมทตองการสรางสตร link ขอมลระหวางกนขนมากอนทงแฟมตน

ทางและแฟมปลายทางแลวจะชวยใหสรางสตร link ไดงายมาก

1. วธยอนปลายกลบมาหาตน

1.1. ใหเรมจากพมพเครองหมายเทากบ = ทเซลลปลายทาง

45 

 

Copyright of www.ExcelExpertTraining.com 

1.2. (หากไมตองการ link ขามชทหรอขามแฟมใหขามขนตอนน) คลกเลอกชอชทตนทาง

หรอคลกชอแฟมตนทางทเปดไวกอนแลวจากคาสง View > Switch Windows

(Excel 2003 ใชคาสง Windows เพอไปทแฟมตนทาง)

1.3. แลวคลกเลอกเซลลตนทาง

1.4. จากนนกดป ม Enter เพอรบสตร link ตาแหนงเซลลตนทางกลบไปบนทกไวทเซลล

ปลายทาง (วธนโดยทวไปจะทาไดทละเซลล เวนแตจะสรางสตรแบบ Array จงจะสราง

พรอมกนหลายเซลลทงตาราง และขอใหสงเกตวาถาเปนสตร link ขามแฟมจะได

ตาแหนงอางองแบบ Absolute เสมอ)

2. วธ Copy จากตน แลวมา Paste Special แบบ Paste Link ทปลาย

2.1. ใหเรมจากเลอกพนทตารางตนทางทงตารางพรอมกน

2.2. สง Copy

2.3. (หากไมตองการ link ขามชทหรอขามแฟมใหขามขนตอนน) คลกเลอกชอชท

ปลายทาง หรอคลกชอแฟมปลายทางทเปดไวกอนแลวจากคาสง View > Switch

Windows (Excel 2003 ใชคาสง Windows เพอไปทแฟมปลายทาง)

2.4. จากนนใหเลอกเซลลหวมมตารางปลายทางเพยงเซลลเดยวแลวคลกขวา สง Paste

Special > กดป ม Paste Link จะไดสตร link พรอมกนทเดยวทงตาราง

3. วธ Cut จากตน แลวไป Paste ทปลาย โดยวธนวาไปแลวไมไดเปนการสรางสตร link

แตใหเรมจากสรางสตร link ไวในชทเดยวกนตามวธขางตนใหเสรจกอน จากนนจงสง Cut

ตารางสตรจากชทตนทางไป Paste ทตาแหนงปลายทางในชทอนหรอแฟมอน ซง Excel

จะปรบโครงสรางตาแหนงอางองในสตรใหกลายเปนตาแหนงอางองขามชทหรอขามแฟมให

เองทนท

วธท 3 นเปนเคลดลบสาคญในการสรางสตร link ขามแฟม โดยเรมจากสรางสตร link

ทงหมดในชทเดยวกนใหเสรจกอน จากนนเมอ Cut เซลลสตรไปทชทอนจะไดสตร link

46 

 

Copyright of www.ExcelExpertTraining.com 

ขามชท หรอถา Cut เซลลสตรไปทแฟมอนจะไดสตร link ขามแฟม ชวยใหไมตองเสยแรง

เสยเวลาสรางสตร link ขามชทหรอขามแฟมตงแตแรกแมแตนอย เชน

• จากเดมสรางสตร link ในชทเดยวกนเปน =A1

• พอ Cut ไปทชทอน สตรนจะปรบตวใหมเปน =Sheet1!A1

• พอ Cut ตอไปทแฟมอน สตรนจะปรบตวใหมเปน =[Source.xlsx]Sheet1!A1 โดย

คาวา Source กคอชอแฟมตนทาง และคาวา Sheet1 คอชอชทตนทาง

• ตอมาถาปดแฟมตนทางทช อ Source ทง สตรนจะปรบตวใหมเปน

='D:\Dummy\[Source.xlsx]Sheet1'!A1

ซงการทมช อ Drive D และชอโฟลเดอรวา Dummy แสดงไวดานหนาสตร แสดงวา

แฟมตนทางทช อ Source นน ในขณะนนถกจดเกบไวทใดแตยงไมไดถกเปดขนมา

ขอควรระวงในการรกษาสตร link ขามแฟมใหใชงานไดถกตองตลอดไป

1. หากตองการทาการแกไขใดๆในแฟมท link กน ตองเปดแฟมท link กนทกแฟมขนมา

ทงแฟมตนทางและแฟมปลายทางกอนทจะเรมทาการแกไขเสมอ เพอทาใหการแกไขท

เกดขน เชน การยายตาแหนงเซลล การเปลยนชอชทหรอแมแตชอแฟม สงผลให Excel ไล

แกตาแหนงอางองในสตร link ขามแฟมใหเอง (ถาตองการให Excel ชวยจาวาตองเปด

แฟมใดบางพรอมกน ใหใชการเปดแฟม Workspace ชวย ซงจะอธบายในภายหลง)

2. หากตองการ Save as เพอเปลยนชอแฟมหรอยายโฟลเดอรท เกบ ใหทาการ Save

แฟมตนทางกอนแลวจง Save แฟมปลายทางตามทหลง โดยการ Save ทวานใหใช

โปรแกรม Excel เปดแฟมแลว Save จากโปรแกรม Excel เทานน เพอทาให Excel ปรบ

ตาแหนงอางองในสตรตามตาแหนงของโฟลเดอรและชอแฟมทเปลยนไป (ตางจากการใช

Windows Explorer ในการยายโฟลเดอรหรอเปลยนชอแฟม ซงจะไมชวยใหสตรมการ

แกไขตาแหนงอางองตามแมแตนอย)

3. หากตองการแกไขตาแหนงอางองเนองจาก Excel เตอนวาคนหา link ไมพบ อาจ

เปนเพราะคณพลงเผลอไมไดปฏบตตามขอควรระวง 2 ขอขางตน กยงสามารถแกไขให link

ทางานตามเดมไดตามขนตอนตอไปน โดย Excel จะไลแกไขชอแฟมตนทางในเซลลสตร

link ทกเซลลใหเองไมวาอยในชทใด

3.1. ใหเปดแฟมปลายทางขนมากอนโดยไมตองเปดแฟมตนทาง (แฟมปลายทางนกคอ

แฟมทเปดขนมาแลวพบวา Excel มคาเตอนวาหา link ไมพบ)

47 

 

Copyright of www.ExcelExpertTraining.com 

3.2. ตรวจสอบวาไมมชทใดถกสง Protect Sheet เอาไว (เพราะถาชทใดถก Protect จะไม

สามารถแกไขสตร link ทมอยในชทนนไดเลย แมจะสงผาน Excel กตาม)

3.3. จากนนใหใชคาสง Data > Edit Links (Excel 2003 ใชคาสง Edit > Links)

3.4. คลกเลอกชอแฟมตนทางทแสดงในชองรายชอ Source

3.5. กดป ม Change Source แลวคลกไลหาแฟมตนทางทเกบไวในโฟลเดอรทตองการ

4. เคลดอนๆซงสามารถนามาใชรวมกบคาสง Edit Links จากรปขางตน

4.1. ป ม Update Values ทาหนาท update ขอมลจากแฟมตนทางทเลอกชอไวจากชอง

Source ชวยทาใหสามารถเปดแฟมขนมาโดยไมตอง update ในตอนเปดแฟมกได

(เพราะหากสง update ตอนเปดแฟม จะทาให Excel เสยเวลาอยางมากในการไล

update แฟมตนทางทมทกแฟม) แลวตอเมอตองการดงขอมลใหมจากแฟมตนทาง

เมอใด จงคอยคลกป ม Update Values นทละแฟมทตองการ

4.2. ป ม Open Source ทาหนาทเปดแฟมตนทาง ตามชอแฟมทเลอกไวจากชอง Source

4.3. ป ม Break Link ทาหนาททาลายสตรทงหมดในเซลลทกเซลลทมสตร link ขามแฟม

ใหกลายเปนคา value หรอผลลพธ ซงไมแนะนาใหใชวธนเพราะ Excel จะทาลายสตร

link ในแฟมนนทงหมดโดยเราไมมทางทราบไดเลยวาเปนเซลลใดบางและยงไม

สามารถ Undo ดงนนหากตองการทาลายสตร link ในเซลลใด ใหคนหาตาแหนงเซลล

ทมสตร link โดยใชชอแฟมทแสดงในชอง Source สาหรบคนหาตาแหนงเซลลนน

เพอ Copy แลว Paste Special แบบ Value ทบเฉพาะเซลลนนๆจะเหมาะกวา

48 

 

Copyright of www.ExcelExpertTraining.com 

ระบบการรกษาความปลอดภย

ในการ Link File ของ Excel 2010

แมวาขนาดตารางในชทของ Excel 2010 มจานวน 1,048,576 rows และ 16,384 columns

ชวยรองรบกบขอมลจานวนมหาศาลมากขนกวา Excel รนกอนกตาม แตมไดทาใหวธบนทก

ขอมลทถกตองตางไปจากทควร กลาวคอ ในแฟมหนงๆควรเลอกบนทกเฉพาะขอมลท

จาเปนตองใชงานเรองทเก ยวของกนไวดวยกนในชทเดยวกนเทาน น เชน แยกแฟมเกบ

ขอมลการขายในชวงแตละไตรมาสไวดวยกน แฟมแรกเกบขอมลเดอน 1-3 แฟมทสองเกบ

ขอมลเดอน 4-6 แฟมทสามเกบขอมลเดอน 7-9 และแฟมทสเกบขอมลเดอน 10-12 จากนน

เมอตองการดงขอมลของไตรมาสใดมาใช ใหสรางสตร link ขามแฟมนาขอมลมาคานวณ และ

ใชคาสง Change Sources เพอเปลยนการ link จากแฟมเดมไปยงแฟมอนเพอนาขอมลชวง

ไตรมาสทตองการมาคานวณโดยไมตองเสยเวลาสรางสตร link ใหมแตอยางใด

ใน Excel 2010 ไมไดมวธการสรางสตร link หรอมระบบการ Change Sources ตางไปจาก

Excel รนกอน แตใน Excel 2010 มระบบการรกษาความปลอดภยในการใชขอมลทเครงครดกวา

รนกอนและสงผลทาให Excel 2010 แสดงอาการและมคาเตอนตางไปจากเดมเมอมการเปด

แฟมท link กน บทความนจะทดสอบระบบการ link file ของ Excel 2010 โดยจาลอง

สถานการณในแตละขนตอนมาใหศกษาตงแตเรมตนยงไมมขอมล จวบจนสรางสตร link และ

ทดลองปรบระบบการรกษาความปลอดภยวาจะสงผลตอคาเตอนเรองการ link อยางใดบาง

ระบบความปลอดภยใน Excel 2010 ทจะนามาทดสอบกบระบบการ link เชน Trusted

Location และ Trusted Document (เชญ Download แฟมทใชในการทดสอบนไดจาก

www.ExcelExpertTraining.com/download/testlink.zip)

1. เรมตนจากทดสอบขนาดแฟมทเปดขนมาโดยยงไมมขอมลอะไรเลย สง Save แฟมตง

ชอวา Target.xlsx พบวามขนาดแฟม 8.18 KB

2. ในแฟมชอ Target น ทดลองพมพคาวา Operations ลงไปในเซลล B2 พบวา จากแฟม

วางๆซงมขนาด 8.18 KBแฟมมขนาดใหญขนเลกนอยเปน 8.55 KB พอพมพตวเลข

20496 ลงไปในเซลล C2 แฟมมขนาดใหญเพมขนเปน 8.57 KB (แสดงวาขอมลตวเลข

ทาใหแฟมมขนาดใหญขนชากวาขอมลทเปนตวอกษร)

 

3.

4.

5.

สรางแฟมฐ

ในแฟม Tar

รายการ De

ใชสตร Arra

ทาใหแฟม

ใหแฟมมขน

แฟมทาใหเ

เปนพเศษจ

เมอปดแฟม

เพยงแฟมเด

คาวา Oper

หายอดรวม

Target เปล

Cop

านขอมลจา

rget เซลล

epartment ท

ay {=SUM

Target มข

นาดเพมขนไ

เกด cache

จากการเกบ

ม Source ซ

ดยว พบวาแ

rations เปน

ไดตามตอง

ลยนแปลงแ

pyright of ww

านวน 200 ร

C2 เมอสรา

ทมช อ Ope

((Source.x

นาดเพมขน

ไดงายกวาข

data ขนใน

cache data

ซงเปนแฟมต

แฟม Target

น Security ห

การ โดยไม

ตอยางใด (

49 

ww.ExcelExp

รายการ ชอ

างสตร link

erations วาม

xlsx!DEPAR

นจาก 8.57 K

ขอมลทเปนต

นแฟมปลายท

a เอาไว)

ตนทาง ใหค

t ยงคงมขน

หรอ R&D เพ

มตองเปดแฟ

แสดงวาใชข

pertTraining.c

Source.xlsx

เพอหายอด

มยอดของ A

RTMENT=B

KB เปน 12.

ตวเลขหรอต

ทาง ทาใหแ

งเหลอแฟม

นาดเทาเดมเ

พอหายอดร

ฟม Source

ขอมลจาก c

com 

x มขนาด 1

รวมจากแฟม

Actual รวมเ

B2)*Source

5KB (แสดง

ตวอกษร แล

แฟมปลายท

มปลายทาง T

เปน 12.5 K

รวมของรายก

และไมทาให

cache data

19.1 KB

ม Source ข

เทากบ 204

e.xlsx!ACTU

งวาสตรคาน

ละการ link ข

างมขนาดให

Target เปด

KB และเมอเ

การ พบวาส

หขนาดแฟม

a ทเกบไวใน

ของ

496 โดย

UAL)}

นวณทา

ขาม

หญขน

ดอย

เปลยน

สามารถ

นแฟม

 

6.

7.

Target)

ตรวจสอบค

update au

จากนนทดล

แถบคาเตอ

links has b

ขนมาอธบา

Cop

คาสง File >

tomatic lin

ลองปดแฟม

น Security

been disab

ายวา The fo

pyright of ww

Options >

nks ไว

ม Target แล

Warning ต

led และเมอ

ollowing co

50 

ww.ExcelExp

> Advanced

ลวเปดแฟม

ตรงดานบนข

อคลกลงไปท

ontent has

pertTraining.c

d > พบวาร

Target ขน

ของจอเตอน

ทขอความค

been disa

com 

ะบบของ Ex

มาใหมเพยง

นวา Autom

คาเตอนน จะ

bled: Work

xcel กาชอง

งแฟมเดยว

atic update

ะเปดหนา In

kbook links

ง Ask to

ปรากฏ

e of

nfo

s

 

8.

9.

10.

11.

12.

13.

14.

ทดลองยอน

รวมแทนคา

เมอเปดแฟม

แสดงวามก

แฟมปลายท

ปดแฟม Ta

ในแฟม Sou

เหลอเฉพาะ

ไว เพอทดส

Operations

ปดแฟม So

Warning แ

คราวนกดป

Operations

Enable Co

ใหมทแกไข

ปดแฟม Ta

Excel 2010

Cop

นกลบไปท H

าวา Operati

ม Source ข

าร Enable

ทาง

arget

urce ทดลอ

ะรายการแรก

สอบวา ถาเป

s เทากบเท

ource แลวเป

และยอดรวม

ม Enable C

s รวมเทากบ

ntent เปนก

ขและเกบไว

arget โดยไม

0 เตอน Sec

pyright of ww

Home โดย

ions พบวาส

ขนมา พบวา

Content เพ

องลบตวเลข

กซงมคาเทา

ปดแฟม Ta

าใดเมอเปด

ปดแฟม Tar

ของ Opera

Content ทา

บ 2562 ตาม

การสงให Ex

ในแฟม Sou

มตองสง Sa

curity Warn

51 

ww.ExcelExp

ยงไมได En

สามารถหาย

าคาเตอน Se

พอ Update

ข Actual ขอ

ากบ 2562

rget ทปดไ

ดแฟม Targe

rget ขนมาเ

ations เทาเ

าใหคาเตอน

มยอดใหมท

xcel update

urce

ave แลวเปด

ning และยอ

pertTraining.c

nable Cont

ยอดรวมของ

ecurity Wa

Link ใหเอง

อง Departm

แลวสง Sav

ไปกอนแลวจ

et เพยงแฟ

เพยงแฟมเด

เดมเชนเดยว

น Security W

ทเกบไวในแฟ

e cache da

ดแฟม Targ

อดรวมของ

com 

ent แลวใช

ง R&D ไดเช

rning ในแฟ

งทนทเมอเป

ment ทเปน

ve แฟม Sou

จะแสดงยอด

มเดยว

ดยวจะพบคา

วกบการทดล

Warning หา

ฟม Source

ata ในแฟม

get ขนมาอก

Operations

คาวา R&D

ชนเดม

ฟม Target

ปดแฟมตนท

Operation

urce เกบยอ

ดรวมของ

าเตอน Secu

ลองในขอ 7

ายไปและได

e แสดงวากา

Target ตาม

กครงหนง ไ

s แสดงตวเล

หายอด

หายไป

ทางคกบ

s ให

อดใหมน

urity

7-8

ดยอด

ารกดป ม

มขอมล

มพบวา

ลข

 

15.

16.

17.

18.

การทดล

กอน โด

Excel ค

เทากบ 256

ใหทนท

ตรวจสอบระ

Trusted Do

เอาไวตงแต

กอนทเปดแ

แฟม Targe

ตามภาพใน

ทไมเคยไวใ

ตามการทด

ตามภาพใน

Trusted Do

Warning ต

บนทกคาให

จากขอ 17

Locations

ไวใจได พบ

ลองขางตนท

ดยเฉพาะอย

คนใดคนหนง

Cop

62 ทนท แส

ะบบของ Tr

ocument ไ

ตแรกแลว ท

แฟมน ไดสง

et ไวกตาม)

นขอ 15 ทดล

ใจ แลวเปด

ดลองในขอ 7

นขอ 15 ทดล

ocument แ

ตามขอ 7 ทก

หมท Updat

ซงเลกใชระ

โดยกาหนด

บวาเมอเปด

ทาใหตองเพ

ยางยงการใช

งเขาไปปรบ

pyright of ww

สดงวาเมอเป

rust Center

ไวเปน defau

ทาให Excel

ง Enable Co

)

ลองกดป ม C

แฟม Targe

7 ตามเดม

ลองกาชอง

แลวเปดแฟม

กครงแมจะก

te ไปแลวกต

ะบบ Truste

ดใหโฟลเดอ

แฟม Targe

พมความระม

ชเครองคอม

บแกระบบกา

52 

ww.ExcelExp

ปดเดมแฟมซ

r พบวา ระบ

ult โดยไมไ

ถอวาแฟม

ontent (Ex

Clear เพอก

et ขนมาใหม

Disable Tr

ม Target ซ

กดป ม Enab

ตาม

ed Docume

อรทเกบแฟม

et จะไมมกา

มดระวงในกา

มพวเตอรแล

ารเตอน Sec

pertTraining.c

ซาอก Exce

บบตามปกตข

ไดกาชอง D

Target เปน

xcel จะจาไว

กาหนดใหทก

ม พบวา Ex

rusted Doc

าหลายๆครง

ble Content

ent ไปแลว

ม Source แ

ารเตอน Sec

ารใชแฟม E

ะแฟมรวมกน

curity Warn

com 

el จะเปดตาม

ของ Excel 2

Disable Trus

นแฟมทเชอ

วใหทงๆทไม

กแฟมทเคย

cel เตอน S

cuments เพ

ง พบวา Exc

t แลวสง Sa

ใหทดลองใ

ละ Target

curity Warn

Excel ท link

นหลายคน

ning ของ Ex

มวธทผใชเค

2010 กาหน

sted Docum

ถอไดเพราะ

มไดสง save

ยเปดถอวาเป

Security Wa

พอเลกใชระบ

cel เตอน Se

ave แฟม Ta

ใช Trusted

เปนโฟลเด

ning อกตอไ

k กนมากขน

เพราะหากผ

xcel 2010

คยเปด

นดใหใช

ments

ะคราว

e เกบ

ปนแฟม

arning

บบ

ecurity

arget

อรท

ไป

นกวาแต

ผใช

ใหตาง

 

ไปจากเ

นาขอม

หากจาเ

Docum

Locatio

นอกจาก

จดระบบ

ยงคงเต

ไมไดสง

Excel 2

ในกรณ

Center

Workbo

Workbo

เดมหรอแตก

ลไปใชอยาง

เปนตองใชเ

ments เพอเล

ons ไวอยาง

กนเมอทดล

บใหไมใช T

ตอน Securit

งผลตอการใ

2003 หรอ E

ทไมตองกา

ของ Exter

ook Links (

ook links

Cop

กตางจากทเ

งผดพลาดข

เครองคอมพ

ลกใชระบบ

งเดดขาด

ลองตดกาชอ

Trusted Loc

ty Warning

ใชงานใน Ex

Excel รนกอ

ารให Excel

rnal Conten

(ซงไมแนะน

pyright of ww

เคยใชรวมก

ขนมาได

พวเตอรและแ

Trusted Do

อง Ask to u

cations และ

g เสมอ ทาใ

xcel 2010

นหนานนทน

2010 เตอน

nt โดยเลอก

นาใหใช) แท

53 

ww.ExcelExp

กน ยอมสงผ

แฟมรวมกน

ocument แ

update auto

ะไมใช Trus

ใหเขาใจวาค

อกตอไป อ

นามาเปดดว

นเมอเปดแฟ

กกาชอง En

ทนชอง Pro

pertTraining.c

ลใหผใช Ex

หลายคน ข

และหามกาห

omatic link

sted Docum

คาสง Ask t

าจยงคงมปร

วย Excel 20

ฟมท link กน

nable autom

ompt user o

com 

xcel คนอนเ

อใหกาชอง

หนดโฟลเดอ

ks ตามภาพใ

ment พบวา

o update a

ระโยชนกบแ

010 กเปนได

น สามารถปร

matic upda

on automa

เกดความสบ

Disable T

อรใดเปน Tr

ในขอ 6 ทง

า Excel 201

automatic l

แฟมทสราง

รบระบบ Tr

ate for all

atic update

บสนและ

rusted

rusted

ง โดย

10 จะ

links น

ขนจาก

ust

e for

54 

 

Copyright of www.ExcelExpertTraining.com 

หลกการต งชอและใชชอใน Excel

การตงชอและใชชอเปนหวใจสาคญของการนาตาแหนงอางองไปใชซา เนองจากหากปราศจาก

การตงชอทดข นมาใชแทนตาแหนงอางองของเซลลแลว สตรสนๆทดไมมพษภยอะไร จะกลบ

กลายเปนปญหาอยางมาก ยงใน Excel 2007 มพนทตารางกวาหมน Column และลานกวา

Row จะทาให สตร =JAN2009 ซงเปนสตรทนาคามาจากเซลลใน Column JAN ตดกบ Row

2009 สามารถดผาดๆและถกตความวาเปนคาของเดอน Jan ปค.ศ.2009 แทนกเปนได

หากสงเกตขนาดของตวอกษรแตละตวในคาแตละคาทปรากฏในตาราง Excel จะพบวา ชอใดๆ

กตามทเปนชอมาตรฐานของโปรแกรม Excel ซงเราไมสามารถเขาไปแกไขเปลยนแปลงใหเปน

ชออน ไดถกจดใหใชตวอกษรตวใหญทงหมด (เวนชอคาสงบน Ribbon หรอเมน) เชน ชอ

ตาแหนง Column A B C D จนถง XFD (Excel 2003 ม Column สดทายชอ IV) และสตร

สาเรจรปของ Excel ทกสตร เชนสตร SUM, MAX, MIN, VLOOKUP ลวนใชตวอกษรตวใหญ

ทงหมด ดงนนแทนทจะพรอมใจกนตงชอแลวใชชอทเปนตวใหญทงหมดตามแบบของชอของ

Excel เราควรกาหนดหลกการตงชอและใชชอทส อความหมายไดดข นกวาเดม ดงน

1. หากแฟมใดจะถกใชซา ขอใหตงใจตงชอใหด เพอทาใหไมวาผทนาแฟมงานไปใชซานนจะ

เปนตวคณซงเปนผสรางแฟมนนเองหรอจะเปนเพอนทเพงเปดใชแฟมนนเปนครงแรกกตาม

จะไดสามารถเปดแฟมดแลวสามารถไลทไปทมาของสตรในเซลลไดทนท แตถาแฟมใดถก

สรางขนมาเพอใชงานงายๆเพยงครงเดยวแลวทง ไมตองนากลบมาใชอก กไมจาเปนตองตง

ชอใหดกได

2. ชอใดทคณตงขนมาไมวาจะเปนชอชท ชอแฟม ชอโฟลเดอร ชอตาแหนงเซลล (Range

Name) ชอสตร (Formula Name) หรอชอทตงใหกบคาคงท (Constant Name) ใหตงชอ

โดยใชตวอกษรตวใหญผสมกบตวเลกเสมอ

3. เมอใดทตองการสรางสตรหรออางถงชอใดๆกตาม ใหใชตวอกษรตวเลกทงหมดเทานน

เพราะเมอพมพลงไปในเซลลแลวกดป ม Enter จะเกดขอสงเกตในตวอกษรของแตละชอ

ขนมาทนทกลาวคอ

3.1. ตวอกษรทกลายเปนตวใหญทงหมด แสดงวาเปนชอเฉพาะของ Excel

3.2. ตวอกษรทกลายเปนตวใหญผสมตวเลก แสดงวาเปนชอทคณตงไว

3.3. ตวอกษรทยงคงเปนตวเลกทงหมด แสดงวาสะกดชอผด ดงนน Excel จงไมยอมรบชอ

นน ทาใหขนาดตวอกษรไมเปลยนแปลงตาม

55 

 

Copyright of www.ExcelExpertTraining.com 

4. ชอทตงขนควรใชตวอกษรตงแต 4 ตวขนไปเพอมใหซากบชอของ Column แตถา

จาเปนตองตงชอทมตวอกษร 2-3 ตวกทาได เพราะการตงชอทใชตวอกษรตวใหญผสมตว

เลกจะชวยในการแยกแยะใหเหนไดชดอยแลววา Jan2009 มไดมความหมายเดยวกบ

JAN2009 ทเปนเซลลใน Column JAN ตดกบ Row 2009 (ถาตองการตงชอทเปนตวอกษร

ตวเดยว ขอใหหลกเลยงตว C และ R เพราะซากบตวยอของ Row และ Column)

5. Excel จะไมยอมรบชอ Range Name ทมการเวนวรรค โดยหากสงให Excel ใชขอความใน

เซลลตามขอบตารางมาเปนชอโดยอตโนมต จะถกแกไขเครองหมายวรรคเปนเครองหมาย

ขดลาง _ (Underscore) ใหเอง และ Excel จะไมยอมรบชอ Range Name ทเปนตวเลข

ลวนหรอเปนตวเลขนาหนาตวอกษร

6. แมจะไมมขอหามในการตงชอเปนภาษาไทย แตกแนะนาใหตงชอเปนภาษาองกฤษจะ

เหมาะสมกวา เพราะหากใช Excel version ภาษาองกฤษ เปดแฟมทมการใชชอภาษาไทย

จะอานชอภาษาไทยไมออก

7. ในการตงชอชท หามตงชอวา History เนองจากเปนชอท Excel สารองไวใชภายใน

8. ในการตงชอ Range Name หามตงชอวา Criteria หรอ Extract เพราะชอ Criteria นจะถก

ลบทงหรอเปลยนแปลงตาแหนง Extract จากเดมไดเองทนททใชคาสง Advanced Filter

9. หากตองการไดรบความสะดวกจากคาสง Data Form ใหตงชอตารางฐานขอมลวา

Database เพอทาให Excel ดงขอมลมาใชใน Data Form ไดเองโดยทคณไมตองเลอก

ตารางฐานขอมลนนไวกอน

10. โปรดเขาใจเพมเตมวา ในการเขยนชอสตรและชอตางๆทใชในการอบรมตลอดจนขอมลบน

เวบ www.ExcelExpertTraining.com นน ใชวธเขยนชอโดยใชอกษรตวใหญผสมตวเลก

เสมอ เพอชวยในการอานใหสามารถแยกแตละสวนของคาไดงายขน เชน VLookup,

SumIF, SumProduct เปนตน ซงเมอใดทตองการนาชอไปใช ใหพมพตวเลกตลอดตาม

หลกการขางตน

ใน Excel 2003 มระบบการตงชอ Range Name, Formula Name, และ Constant Name ทไม

ซบซอนนก เพยงสง Insert > Name > Define กสามารถ Add ตงชอหลายๆชอไดโดยใช

คาสงนเพยงครงเดยว สวนใน Excel 2007 มคาสงในการตงชอใหเลอกได 2 วธ คอ

1. หากตองการตงชอเดยว ใหสง Formulas > Define Name

56 

 

Copyright of www.ExcelExpertTraining.com 

2. หากตองการตงชอหลายชอและสามารถยอนกลบมาแกไขหรอตงชออนใหมอกไดในทนท

ใหสงผาน Formulas > Name Manager

2.1. กดป ม New เพอตงชอใหม หรอ

2.2. กดป ม Edit เพอแกไขตาแหนงอางองในชอ หรอ

2.3. กดป ม Delete เพอลบชอทง

นอกจากนน Excel 2007 เปนตนมา ไดปรบปรงระบบการตงชอใหสนองตอบตอการใชงานใน

ระดบ File Level หรอ Sheet Level ไดสะดวกกวาแตกอนมาก กลาวคอ

• การต งชอเพอใชในระดบ File Level เปนระบบมาตรฐานท Excel เลอก Scope เปน

Workbook ไวใหตงแตตน เพอทาใหชอทตงขนในระดบนสามารถนาไปใชรวมกนไดทก

ชท

• การต งชอเพอใชในระดบ Sheet Level โดยคลกเปลยน Scope เปนชอชทท

ตองการ ทาใหชอทตงขนในระดบชทเปนชอทใชในชทนนและเปนอสระจากชทอน

สงผลใหสามารถตงชอซากนไดในแฟมเดยวกน (นาสงเกตวาเราสามารถกาหนด Scope

ใหอยตางชทกบชทท Refers to กยงได)

57 

 

Copyright of www.ExcelExpertTraining.com 

การต งชอ Constant Name

Constant Name เปนชอทตงใหกบคาคงท ซงตามปกตในการดาเนนธรกจตองเกยวของกบ

คาคงทมากมาย นบตงแต ชอบรษท ทอย ชอผบรหาร รหสทเปนความลบ หมายเลขบญช

ตวเลขทางการเงนตางๆ เชน อตราดอกเบย คาเสอมราคา ตวเลขเงนเดอน ดงนนแทนทจะตอง

บนทกคาเหลานซาลงไปในเซลลโดยตรง นอกจากจะเสยเวลาพมพเองใหมทกครงแลว ยงอาจ

พลงเผลอบนทกขอมลตางไปจากเดม จงขอแนะนาใหตงชอใหกบคาคงททงหมดทม แทนท

จะตองพมพชอยากๆยาวๆ กเพยงพมพชอสนๆทจางายกวา และภายหลงหากมการเปลยนแปลง

คาทเคยคดวาคงท กใหทาการแกไขคาทกาหนดใหกบชอทเปน Constant Name นเพยงครง

เดยว กจะสงผลใหทกเซลลทนา Constant Name ไปใชมคาใหมตามการแกไขนนไดทนท

สมมตวา ตองการตงชอ Constant Name วา “MyKey1” ใหมคาเทากบชอ “Excel Expert

Training” ใหเรมจากพมพชอทตองการตงลงไปในชอง Name (โดยไมตองใสเครองหมาย

คาพดปดหวทายชอ) จากนนพมพคาทตองการลงไปในชอง Refers to โดยตองมเครองหมาย

เทากบนาหนาเสมอและถามคาเปนตวอกษรกตองใสขอความไวระหวางเครองหมายคาพดดวย

ตามน

Name: MyKey1

Refers to: =”Excel Expert Training”

แตถาตองการตงชอ Constant Name ใหมคาเปน

ตวเลข กไมตองใสเครองหมายคาพด แตตองใส

เครองหมายเทากบนาหนาเชนกนตามน

Name: MyKey2

Refers to: =23187021

จากนนเมอตองการนาชอ Constant Name นไปใชในเซลล ใหพมพ =mykey1 (สงเกตวาถา

พมพเองใหพมพดวยตวเลกตลอด) หรอกดป ม F3 เพอเปดรายชอทตงไวในแฟมนนขนมาแสดง

บนจอ แลวใหดบเบลคลกทช อทตองการ (หรอคลกป ม OK) แลวกดป ม Enter เพอรบสตร

=MyKey1 ลงไปในเซลล จะไดคาวา Excel Expert Training แสดงในเซลลนน

58 

 

Copyright of www.ExcelExpertTraining.com 

หมายเหต ชอทเปน Range Name หรอ Formula Name มขนตอนการใชชอเหมอนกบ

Constant Name เชนกน

การต งชอ Range Name

Range Name เปนชอทตงใหกบเซลลเดยวหรอพนทตาราง (ทมพนทตดกนหรอไมตดกนกได)

ซงมวธตงชอไดหลายวธ ดงน

1. วธใช Name Box เปนชองดานซายมอของ Formula Bar วธนเปนวธตงชอทงายทสด แต

ใชกบการตงชอไดอยางเดยว ไมสามารถใช Name Box เพอแกไขหรอลบชอทง

1.1. เรมจากคลกเลอกเซลลหรอตารางทตองการ (หากตองการเลอกเซลลทไมตดตอกน ให

กดป ม Ctrl แลวคลกเลอกพนทตารางทตองการไปเรอยๆ)

1.2. คลกลกศรดานขวาของชอง Name Box แลวพมพชอ Range Name ทตองการลงไป

ในชอง Name Box ขอใหสงเกตวา พอพมพตวอกษรทละตวของชอลงไป ชอง Name

Box จะเลอนไปหาชอเกาทตงไวกอนแลวเพอคณจะไดตงชอใหมทไมซากบชอเดมทม

อยแลว

1.3. กดป ม Enter เพอรบชอลงไปในชอง Name Box

2. วธใชคาส ง Formulas > Define Name หรอ Formulas > Name Manager

(Excel 2003 ใชคาส ง Insert > Name > Define) โดยกรอกชอทตองการตงลงไป

ในชอง Name: แลวคลกลงไปในชอง Refers to (โดยใหคลกตอทายตาแหนงเดมทแสดง

59 

 

Copyright of www.ExcelExpertTraining.com 

ไวในชอง Refers to: น) จากนนใหเลอกพนทตารางทตองการแลวกดป ม OK เพอรบชอ

3. วธใชคาส ง Formulas > Create from selection (Excel 2003 ใชคาส ง Insert

> Name > Create) วธนชวยนาขอความทอยขอบตารางมาตงเปนชอใหกบพนทตาราง

ในฝงตรงขามกบขอความนน เรมจากคลกเลอกพนทตารางทตองการตงชอโดยใหเลอก

รวมทงพนทหวตารางไวดวย จากนนใชคาสง Formulas > Create from Selection จะพบ

หนาจอตอไปนเปดขนมา ใหดวาตรงตามตองการแลวกดป ม OK เพอรบชอ

Excel เลอกชอง Left column ไวให เนองจาก Column ซายสดของพนทตารางทเลอกนน

มตวอกษรบนทกไว โดย Excel จะตงชอพนทตาราง C2:E2 วา Income และตงชอพนท

ตาราง C3:E3 วา Cost ตามขอความใน Column ซายสดใหทนท ทงนขอใหเขาใจดวยวา

ชอ Income และ Cost เปนชอท Excel ชวยตงใหเพยงครงเดยวตอนทใชคาสง Create

from selection นเทานน และจะยงคงใชชอนอยโดยไมเปลยนแปลงตามขอความใน

Column ซายทอาจมขอความตางไปจากเดมแตอยางใด

หากตองการขยายขอบเขตของ Range Name ใหใชวธการ Insert Row หรอ Insert Column

หรอใชวธท 2 หรอวธท 3 ขางตนเพอเขาไปกาหนดขอบเขตพนทตารางใหมใหมขนาดใหญขน

ตามตองการ

60 

 

Copyright of www.ExcelExpertTraining.com 

Range Name ทตงขน สามารถนาไปใชอางองผานสตรสาเรจรปของ Excel ไดทนท เชน หาก

ตองการหายอดรวมของตวเลขใน Range Name ชอ Income ใหเรมสรางสตรตามลาดบ

ตอไปน

1. พมพ =sum(

2. กดป ม F3 เพอแสดงรายชอทตงไวในแฟม (ในกรณทตองการนาชอมาจากแฟมอน ใหยาย

ไปอยในแฟมทมช อ Range Name ทตองการนนกอนแลวจงกดป ม F3)

3. ดบเบลคลกทช อ Income จะไดสตร =sum(Income

4. กดป ม Enter จะไดสตร =SUM(Income)

แตถานา Range Name ไปใชอางองโดยตรงโดยไมไดใชอางองผานสตรสาเรจรปของ Excel

จะพบวาหากตงชอใหกบตารางทมเซลลตงแต 2 เซลลขนไป ชอนนจะนามาใชไดเฉพาะในแนว

คขนานกบแนวพนทตารางทตงชอไวเทานน เชน หากตงชอตวเลขหวตารางในตาแหนงจาก

C2:F2 วา Top และตงชอตวเลขขางตารางตาแหนงจาก B3:B5 วา Left จะสงผลใหใชสตร

=Top*Left คานวณหาคาตอบไดเฉพาะในขอบเขตตารางทแนวคขนานของ Top ตดกบ Left

คอพนทตารางตงแต C3:F5 โดยสตรนอกแนวคขนานจะไมคานวณแตคนคาเปน Error

#VALUE!

วธต งชอตาแหนงอางองแบบไรขอบเขตจากด

ขอยอนนาตวอยางการคานวณทตงชอหวตารางดานบนวา Top มาคณกบหวตารางดานซายทตง

ชอวา Left โดยใชสตร =Top*Left มาวเคราะหอยางละเอยดวา ดวยเหตใดสตร =Top*Left

จงสามารถคานวณหาคาตอบไดเฉพาะพนทตารางในสวนทตดกนของแนวคขนานของ Top ตด

กบ Left เทานน สวนพนทตารางนอกขอบเขตแนวทตดกนจะใหคาตอบเปน Error

61 

 

Copyright of www.ExcelExpertTraining.com 

เมอใชคาสง Formulas > Name Manager ยอนไปตรวจสอบตาแหนงอางองท Excel

กาหนดใหกบตาแหนงอางองทมช อวา Top กบ Left จะพบวา เปนตาแหนงอางองแบบ

Absolute โดยมเครองหมาย $ ควบคมตาแหนงทงแนว Row และ Column ตามรปตอไปน

• ตาแหนงอางองชอ Top มตาแหนงอางอง Refers to: =Sheet1!$C$2:$F$2

• ตาแหนงอางองชอ Left มตาแหนงอางอง Refers to: =Sheet1!$B$3:$B$5

ดวยสาเหตทตาแหนงอางองถกควบคมดวยเครองหมาย $ ทงแนว Row และ Column นเองท

ทาใหเกดการจากดขอบเขตใหใชสตรอางองถงชอ Top กบ Left ไดเฉพาะในแนวคขนาน

ดงนนหากคณเขาใจถงเหตและผลตามทไปทมาดงกลาวขางตน จะสามารถเลอกใชเครองหมาย

$ ในการกาหนดขอบเขตแบบไมจากดได โดยปรบตาแหนงเครองหมาย $ ตามหลกตอไปน

• หากตองการใหกาหนดตาแหนงอางองใหหมายถง ทกเซลลในแนวนอน ใหใช

ตาแหนงอางองจากเซลลเดยวตามแนวคขนานกบเซลลทจะใชชอนน และใส

เครองหมาย $ ควบคมตาแหนงเฉพาะ Row เชน C$2

• หากตองการใหกาหนดตาแหนงอางองใหหมายถง ทกเซลลในแนวต ง ใหใชตาแหนง

อางองจากเซลลเดยวตามแนวคขนานกบเซลลทจะใชชอนน และใสเครองหมาย $

ควบคมตาแหนงเฉพาะ Column เชน $B3

• หากตองการใหกาหนดตาแหนงอางองใหหมายถง ทกแนว ใหใชตาแหนงอางองจาก

เซลลเดยวตามแนวคขนานกบเซลลทจะใชชอนน และไมใสเครองหมาย $

62 

 

Copyright of www.ExcelExpertTraining.com 

• หากตองการใหตาแหนงอางองใชไดกบทกชท กไมตองระบชอชทนาหนาตาแหนง

อางองแตตองทงเครองหมาย ! ไวดวยเพอหมายถงทกชท เชน !I5

เนองจากตาแหนงอางองแบบทไมไดใส $ แบบ Absolute น จะยายตาแหนงไปตามแนวคขนาน

กบตาแหนงเซลลสตรทใช ดงนนกอนทจะใชคาสง Formulas > Name Manager เขาไป

กาหนดตาแหนง คณจะตองเลอกเซลลในแนวเดยวกบเซลลทอางถงในชอง Refers to: ไว

ลวงหนาเสมอ ตามรปตวอยางตอไปน

1. หากตองการตงชอ TopRow และ LeftColumn (หรอชอใดกไดตามใจชอบ) ใหม

ตาแหนงอางองทหมายถงทกเซลลใน Row 2 และทกเซลลใน Column B ตามลาดบ

1.1. ใหคลกเลอกเซลล C3 ไวกอนแลวจงสง Formulas > Name Manager

1.2. ตงชอ TopRow ใหมตาแหนงอางอง Refers to: =Sheet1!C$2

1.3. ตงชอ LeftColumn ใหมตาแหนงอางอง Refers to: =Sheet1!$B3

2. หากตองการตงชอ Sum3Above (หรอชอใดกไดตามใจชอบ) ใหทาหนาทหายอดรวม

ของเซลล 3 เซลลทอยเหนอขนไปจากเซลลทใชชอนอยโดยเวนเซลลทตดกบเซลลสตร

2.1. ใหคลกเลอกเซลล C13 ไวกอนแลวจงสง Formulas > Name Manager

2.2. ตงชอ Sum3Above ใหมตาแหนงอางอง Refers to: =SUM(Sheet1!C9:C11)

3. หากตองการตงชอ Left2 (หรอชอใดกไดตามใจชอบ) ใหทาหนาทหาคาจากเซลลทอย

ดานซายถดไป 2 เซลลจากเซลลทใชชอนอยและใหใชกบทกชทไดดวย

3.1. ใหคลกเลอกเซลล G10 ไวกอนแลวจงสง Formulas > Name Manager

3.2. ตงชอ Left2 ใหมตาแหนงอางอง Refers to: =!E10

63 

 

Copyright of www.ExcelExpertTraining.com 

การต งชอ Formula Name

ในความเปนจรงนนทง Constant Name หรอ Range Name ตางกคอ Formula Name นนเอง

เพราะในชอง Refers to: ตองใสเครองหมายเทากบไวดานหนาคาคงทหรอตาแหนงอางองไว

เสมอ จงเทากบวาเปนการตงชอใหกบสตร เพยงแตวาสตรทเปน Constant Name กาหนดใหม

คาเปนคาคงท สวน Range Name ไดกาหนดใหมคาเทากบคาทเกบไวในตารางตามทระบไวใน

ชอง Refers to: ซงนอกจากจะอางถงคาคงทหรอตาแหนงอางองตามทอธบายผานไปแลว เรา

ยงสามารถใชชอง Refers to: ไดอกหลายแบบ กลาวคอ

• ใชผสมกนระหวางคาคงทและตาแหนงอางอง เชน =5*Top*Left โดยเลข 5 ถอเปน

คาคงท สวน Top กบ Left เปนตาแหนงอางอง

• ใชรวมกบสตรสาเรจรปของ Excel เชน =SUM(Income)

• ใชยอสตรยากๆยาวๆใหเปนชอสนๆเพยงชอเดยว โดยทยอยนาชอทตงไวมาคานวณใน

สตรยาวๆทคณสรางขน เชน แทนทจะตงชอเดยวใหกบสตร

=(5*Top*Left)+Sum(Income) กสามารถตงชอใหกบสตรแตละสวนกอนแลวจงนาชอ

มาใชตอเปน =MyVar1+MyVar2 โดยกาหนดใหตงชอ MyVar1 มคา =5*Top*Left

และตงชอ MyVar2 มคา =SUM(Income) ไวกอน

• ใชกาหนดตาแหนงอางองแบบ Dynamic Range โดยใชสตร Offset ชวยกาหนดขนาด

ตารางใหยอหรอขยายไดโดยอตโนมตตามขนาดของขอมล

การเปลยนตาแหนงอางองในสตรทมอยกอนใหกลายเปนชอทต งข นใน

ภายหลง

64 

 

Copyright of www.ExcelExpertTraining.com 

สมมตวาสรางสตร =C2-C3 เอาไวในเซลล C4 เปนตวเลขกาไรขนตน แลว Copy สตรนไปใช

ในเซลลตงแต C4:E4 จากนนตอมาไดตงชอ Income และ Cost เปน Range Name ใหกบ

พนทตารางตงแต C2:E2 และ C3:E3 ตามลาดบ หากตองการใหสตรในเซลล C4:E4 เปลยนไป

เปนสตร =Income-Cost ตามชอทตงขนในภายหลง ใหเลอกพนท C4:E4 แลวสง Formulas

> Define Name > Apply Names (Excel 2003 สง Insert > Name > Apply) แลว

เลอกชอ Income และ Cost (ซง Excel มกจะเลอกชอทเกยวของกบสตรในพนท C4:E4 ให

เอง) จากนนกดป ม OK

เคลดลบอนๆทควรทราบเกยวกบชอทบอกตาแหนง

1. ชอง Name Box แสดงไดเฉพาะชอ Range Name ทอยในแฟมนนเทานน

2. การคนหาตาแหนงเซลลหรอตารางทตงชอไว ใหใช Name Box หรอกดป ม F5 เพอเลอก

ชอทแสดงไวหรอพมพชอททราบลงไปเองกได

3. หากตองการ Copy ชอตาแหนงอางองไปใชทแฟมอนใหมชอแบบเดยวกน ใหเลอก Copy

พนทตารางทงหมดทเกยวของและสตรไปดวยกน (ซงหมายถง พนทตารางทระบไวใน

ตาแหนงอางอง และเซลลสตรทอางถงชอตาแหนงอางองซงอยในพนททเลอกนนดวย)

จากนนให Paste ลงไปในแฟมใหมตามตาแหนงเดมของพนทตารางท Copy มา แลวจง

สงยายไปทอนในภายหลงตามตองการ

4. เซลลเดยวมชอไดหลายชอ แตชอง Name Box แสดงชอแรกทตงตามลาดบตวอกษร เชน

เซลล A1 ตงชอ Range Name ไวหลายชอทง Income, Sales, และ Revenue จะพบวา

เมอคลกเขาไปทเซลล A1 ในชอง Name Box จะแสดงวามชอวา Income เพราะตวอกษร I

มากอนตวอกษร R หรอ S แตถาไลดรายชอใน Name Box จะพบชออนแสดงไวดวย

5. ตวชอ Range Name กบตาแหนงอางองในชอง Refers to: ไมจาเปนตองอยในแฟม

เดยวกนกได โดยเราสามารถตงชอไวในแฟมหนง แตกาหนดใหตาแหนง Refers to: ไปอย

ในแฟมอนได โดยใช Mouse คลกเลอกตาแหนงตารางในแฟมอนกจะไดตาแหนงทตองการ

มาใสในชอง Refers to: ใหเอง

6. หาก Cut ตารางทตงชอ Range Name เอาไวไปวางไวในแฟมอน จะทาใหตวชอ Range

Name ยงอยในแฟมเดม แตตาแหนงอางองในชอง Refers to: จะยายตามไปทแฟมอน

และยงสงผลใหชอง Name Box ไมแสดงชอ Range Name นนอกตอไป (โดยยงคงดชอ

ทกประเภทไดจากคาสง Formulas > Name Manager)

65 

 

Copyright of www.ExcelExpertTraining.com 

7. หากตองการหาคา ณ ตาแหนงเซลลทตดกนของตารางทตงชอไว (Intersection) ใหใช

สตรทมเครองหมายวรรคคนระหวางชอ เชน =Top Left จะไดคาจากเซลลททตาแหนงตด

กนของ Top ตดกบ Left

8. หากตองการสรางสตรทอางถงตาแหนงอางองในตารางโดยตรง โดยไมตองการใหสตรท

เกดขนใชชอ Range Name ใหเรมจากเลอกเซลลตงแต 2 เซลลขนไปไวกอนแลวจงพมพ

= แลวคลกเลอกเซลล จะไดสตรทมตาแหนงอางองโดยไมอางถงชอ Range Name

9. Formula Name ทใชตาแหนงอางองทไมใช Absolute Reference ในบางกรณจะไม

คานวณตามคาตวแปรทเปลยนไป ซงแกไขไดโดยปรบสตรใหคานวณรวมกบสตร Now()

หรอ Today() เชน Sum3Above ใช Refers to: =SUM(Sheet1!C9:C11)*Now()/Now()

10. ชอทตงไวจะถกเกบไวในแฟมทใชตงชอเทานน หากตองการทาใหแฟมใหมมชอทตงไว

แบบเดยวกบแฟมเดม ให Copy เซลลสตรทใชชอในการอางองถงตาแหนงเซลลไปพรอม

กบเซลลทถกตงชอไวไปดวยกน และในการสง Paste ในแฟมใหม ตอง Paste ลงไปใน

ตาแหนงเดมดวย จงจะทาใหแฟมใหมเกดชอและมตาแหนงอางองถกตองตามแฟมเดม

66 

 

Copyright of www.ExcelExpertTraining.com 

การใชสตรปรบตาแหนงอางอง

คาอธบายจากนไปจะมประโยชนตอเมอคณมพนฐานมากอนแลววาตาแหนงอางองมประโยชน

อยางไรและจะนาตาแหนงอางองไปใชซาโดยการ Copy หรอโดยการตงชอตาแหนงอางองได

อยางไร ซงการนาตาแหนงอางองไปใชซาตามวธทใชกนโดยทวไป คณตองเสยแรงเสยเวลา

Copy หรอตองสรางสตรใหมทกครง จงเปนเรองนาคดวาจะมวธใดบางทจะทาใหตาแหนง

อางองเดมทมอยปรบตาแหนงไดเองโดยคณไมตองเขาไปยงเกยวแกไขสตรใหมอกเลย

วธท 1 : ใชสตร Indirect(“Text บอกตาแหนง”) แบบเซลลเดยว

ลองนกดซวา ถาเดมคณสรางสตรเพอดงคาจากเซลล A1 มาใชดวยสตร =A1 จากนนหาก

ตองการทาใหสตรในเซลลเดมนนแหละ ดงคาจากเซลล A2 มาแทน จะทาไดอยางไรโดยไม

ตองยอนกลบไปแกไขสตรใหเปลยนเปน =A2 แตอยางใด

แทนทจะสรางสตรตรงๆลงไปวา =A1 คราวนใหยอมเปลองเซลลหนอย เรมจากใชเซลล C4

และ C5 เปนเซลลรบตวอกษร a และเลข 1 ลงไปตามลาดบ จากนนนาตวอกษรกบตวเลขมาตอ

กนในเซลล C6 โดยใชสตร =C4&C5 จะไดคาวา a1 ซงเปน Text ทบอกตาแหนงตามแบบ

มาตรฐานของตาแหนงอางองใน Excel (ถาอยากลดขนตอน จะใชเซลล C6 สาหรบพมพ

ตาแหนงเซลล a1 ลงไปเลยกได โดยไมตองเสยเซลล C4 และ C5 เพอแยกตาแหนงแตละสวน

ไวกอน)

จากนนเซลล C7 ใชสตร =Indirect(C6) จะไดคาเปนตวเลข 11 ซงเปนคาจากเซลล A1 นนเอง

ทนหากตองการคาจากเซลลใด ใหใชตาแหนงอางองตามคาในเซลล C6 ซงอาจเกดจากการ

พมพแยกสวนของตวอกษรและตวเลขทบอกตาแหนง Column และตาแหนง Row ลงไปใน

67 

 

Copyright of www.ExcelExpertTraining.com 

เซลล C4 และ C5 หรอจะใชวธพมพตาแหนงเซลลทตองการลงไปเองโดยตรงในเซลล C6 เลย

กได เชน

• ถาพมพคาวา a2 ลงไปในเซลล C6 กจะไดคาตอบในเซลล C7 เทากบคาจากเซลล a2

• ถาพมพคาวา a3 ลงไปในเซลล C6 กจะไดคาตอบในเซลล C7 เทากบคาจากเซลล a3

• ถาพมพคาวา sheet3!a2 ลงไปในเซลล C6 กจะไดคาตอบในเซลล C7 เทากบคาจาก

เซลล a2 แตคราวนมาจากชทชอ Sheet3 เปนสตรดงคาขามชทตามชอชททตองการ

วธท 2 : ใชสตร Indirect(“Text บอกตาแหนง”) แบบใชตาแหนง

ขอบเขตตาราง

วธนมหลกการคลายกบวธแรกทใชตาแหนงอางองจากเซลลเดยว เพยงแตตาแหนงอางองแบบ

ขอบเขตตารางตองอยในโครงสรางของ ตาแหนงเซลลตนทาง:ตาแหนงเซลลปลายทาง

เชน A1:A3 จากนนจงนาตาแหนงอางองทไดไปใชกบสตร Indirect

สมมตวาคณตองการหาผลรวมของตวเลขในเซลล A1:A3 ซงปกตตองใชสตร =Sum(A1:A3)

ซงสตรนยงไงๆกจะหาผลรวมจากเซลล A1:A3 ไปตลอด แตถาตองการใหหายอดรวมจากเซลล

ใดกไดถงเซลลใดกไดละ จะสรางสตรอยางไรครงเดยวแลวไมตองแกไขสตรอกเลยในภายหลง

จากภาพขางตน ม Text ทบอกตาแหนงเซลลตนทาง a1 ในเซลล C6 ตรงกบตวอยาง Indirect

แบบเซลลเดยว เพยงแตคราวนใหใชเซลล E4, E5, และ E6 สาหรบสราง Text ทบอกตาแหนง

ของเซลลปลายทาง a3

จากนนใชเซลล D8 นาตาแหนงเซลลตนทางมาเชอมตอกบเครองหมาย : แลวเชอมตอกบ

ตาแหนงเซลลปลายทางดวยสตร =C6&”:”&E6 จะไดคา a1:a3

68 

 

Copyright of www.ExcelExpertTraining.com 

หากตองการหายอดรวมกสามารถนา Text ทบอกตาแหนงในเซลล D8 ไปใชรวมกบสตร Sum

และ Indirect เชน เซลล D9 ใชสตร =Sum(Indirect(D8)) จะหายอดรวมตวเลขจากตารางใน

ขอบเขตทตองการ

นอกจากนแทนทจะนาคาในเซลล D8 ซงมสตรเปน =C6&”:”&E6 ไปใชตอในสตร Sum เพอ

หาผลรวม เรายงสามารถนาขอบเขตตาแหนงอางองทไดนไปใชในสตรอนไดเชนเดยวกน

เพยงแตตองใชสตร Indirect นาหนาตาแหนงอางองไวเสมอ เชน =Max(Indirect(D8)),

=Min(Indirect(D8)), =Average(Indirect(D8)), =Index(Indirect(D8),2,1) เปนตน

ยงกวานนหากนาสตร =$C$6&”:”&$E$6 หรอ =Indirect($C$6&”:”&$E$6) ไปตงชอเปน

Formula Name วา MyRange1 และ MyRange2 ตามลาดบ (หรอชออนใดกได โดยตาแหนง

อางองทใชใน Formula Name ตองกาหนดตาแหนงแบบ Absolute จงจะหาคาไดถกตอง) จะ

ชวยใหการนาตาแหนงอางองไปใชตอไดสะดวกขน เชน จากเดมตองใชสตร

=Sum(Indirect(D8)) กจะเทยบเทากบสตร =Sum(Indirect(MyRange1)) หรอ

=Sum(MyRange2) ซงนอกเหนอจากจะเปนสตรทดดกวามากแลวยงไมขนกบคาในเซลล D8

ทอาจถกแกไขอยางพลงเผลอใหผดเพยนไปในภายหลงไดอกดวย

วธท 3 : ใชสตร Indirect(“Text บอกตาแหนง”) แบบใชชอ Range

Name

ตวอยางนตางจากตวอยางทผานมาเพยงแคนาชอ Range Name มาใชแทนตาแหนงอางอง

โดยตรง เชน หากตงชอพนทตาราง D3:D6 วา Chonburi และตงชอพนทตาราง C4:E4 วา

Year2 (ใหใชคาสง Formulas > Create from selection เพอตงชอพนทตามคาทอยบน

ของตารางรวดเดยว)

69 

 

Copyright of www.ExcelExpertTraining.com 

จากนนใชเซลล C9 และ C10 สาหรบพมพชอ Range Name ลงไป เชน พมพคาวา Chonburi

และ Year2 ลงไปตามลาดบ

• เซลล D9 หายอดรวมของ Chonburi ไดโดยใชสตร =Sum(Indirect(C9))

• เซลล D10 หายอดรวมของ Year2 ไดโดยใชสตร =Sum(Indirect(C10))

• เซลล E9 หาคาของ Chonburi ในป Year2 ไดโดยใชสตรหาคาแบบ Intersection

=Indirect(C9) Indirect(C10)

ขอควรระวงในการใชสตร Indirect

สตรทกสตรของ Excel มทงขอดและขอดอย สตรบางสตรทพวกเราชอบใชเพราะเปนสตรท

เขยนสนๆ แตกลบทาให Excel ทางานชาลงกม (เชน สตร VLookup เปนตน) ซงสตร Indirect

กมขอควรระวงอยดวยกลาวคอ สตร Indirect สามารถ link ขอมลขามแฟมได แตแฟมตนทาง

ตองเปดขนพรอมกบแฟมปลายทางทใชสตรนอย และเปนสตรหนงทถอเปน Volatile Function

Volatile Function เปนชอเรยกประเภทของสตร ทจะทาการคานวณใหมทกครงตามการคานวณ

ทเกดขนในแฟม ทงๆทเซลลสตรนนไมไดมตาแหนงอางองทสมพนธกบเซลลอนมการคานวณ

แมแตนอย (ตามปกตสตรจะคานวณใหมตามตอเมอมเซลลอนทมตาแหนงอางองเกยวของเกด

การคานวณเทานน) ดงนนหากใชสตรททาหนาทแบบ Volatile นมากไปจะทาใหแฟมคานวณ

ชาลง แตถามการใชสตรเพยงไมกเซลลกไมสงผลเทาใดนก

สตรทจดเปนประเภท Volatile Function ไดแก สตร Areas, Cell, Column, Columns,

Indirect, Info, Now, Offset, Rand, Row, Rows, Today

วธท 4 : ใชสตรเพอยายตาแหนงอางองโดยอตโนมต

แมสตร Indirect ชวยทาใหสามารถเปลยนตาแหนงอางองไดกตาม แตคณยงคงตองเปนผ

กาหนดตาแหนงใหมลงไปเองทกครง ซง Excel ยงมสตรอนอกมากมายททาหนาทเปลยนยาย

ตาแหนงอางองไดเชนทสตร Indirect ทาได แถมยงมความสามารถเหนอกวาเพราะสามารถ

เปลยนยายตาแหนงอางองตามเงอนไขทกาหนดหรอจะกาหนดใหเปลยนยายตาแหนงโดย

อตโนมตไดอกดวย

70 

 

Copyright of www.ExcelExpertTraining.com 

• สตรทสามารถเปลยนยายตาแหนงอางองตามเงอนไขทกาหนด เชน IF, Choose,

Index, Offset

• สตรทสามารถเปลยนยายตาแหนงอางองโดยอตโนมต เชน VLookup, Match ท

นามาใชรวมกบสตร Index หรอ Offset, Address ทนามาใชรวมกบสตร Indirect

71 

 

Copyright of www.ExcelExpertTraining.com 

การกาหนดตาแหนงอางองแบบวงกลม

(Circular Reference)

เมอแรกเหนชอการกาหนดตาแหนงอางองแบบวงกลมนาจะทาใหคดไปวาเปนชอเรยกทนารกด

แตเมอใดทเกดการกาหนดตาแหนงอางองแบบวงกลมขน เมอนนแฟมงานของคณจะเขาขาย

เสยงทเดยววาจะใชแฟมนนตอไปไดหรอไม เพราะตาแหนงอางองแบบวงกลมอาจเกดขนโดย

ไมตงใจโดยไมรตว หรอเกดขนอยางเจตนาใหมนเกดขนกได ซงถาใครทใช Excel เปนประจา

ทกวน นาจะเคยเจอคาเตอนตอไปนแสดงขนบนหนาจอมาแลวบาง

“การกาหนดตาแหนงอางองแบบวงกลมอาจจะทาให Excel คานวณผดพลาด” นเปนประเดน

สาคญของคาเตอนทแสดงขนบนจอ

ทนากลวทสดกคอคนบางคนทใช Excel มานาน แตอาจไมเคยพบคาเตอนตามหนาจอขางบนน

เปดขนมาแสดงสกครงเดยว ซงเปนไปไดนอยมากทผใช Excel ไมเคยพลงเผลอสรางสตรผด

แบบ Circular มากอน แตอาจเปนไปไดวาตวเองไดสรางสตรแบบ Circular Reference นมา

กอนแลว เพยงแตวาเขาเหลานนสงให Excel เลกเตอน โดยเฉพาะแฟมงานทเปนมรดกตกทอด

ใชตอกนมาหลายตอหลายรน พอเปดแฟมเขาไปแกไขสตรหรอโยกยายเซลลทรนพเขาสรางไว

โดยไมรจกทไปทมาของสตรในเซลลเหลานน กอาจทาใหเกด Circular Reference ไดทนท

ตวอยางการสรางสตรทมตาแหนงอางองแบบวงกลมทงายทสด เชน ในเซลล A1 สรางสตร

=A1 ลงไป หรอในเซลล B3 สรางสตร = B1+B2+B3 ลงไป หรอสงเกตงายๆวาสตรในเซลล

ใดมตาแหนงอางองทระบถงเซลลนนเองอยดวย ซงนอกจากนหากมสตรท link ตอๆกนไป

หลายๆเซลลแลวกลบสงคากลบมาในเซลลใดเซลลหนงในวงจรของเซลลท link กน เชน

เซลล A1 มสตร =A3 และเซลล A2 มสตร =A1 แลวเซลล A3 มสตร =A2 ยอมทาใหเกด

ตาแหนงอางองแบบวงกลมไดเชนกน ซงเรยกอกแบบหนงวาเกดการคานวณแบบวงกลม

(Circular Calculation)

72 

 

Copyright of www.ExcelExpertTraining.com 

ในการดาเนนงานทางธรกจ มงานหลายประเภทซงอาจมเงอนไขทจาเปนตองสรางสตรทมการ

กาหนดตาแหนงอางองแบบวงกลม อาทเชน

• ในเงอนไขการคานวณตนทนสนคา ซงนาคาใชจายทงทางตรงและทางออมมา allocate

เปนตนทนของสนคา จากนนหากสนคานนกลบไปใชเปนวตถดบใหกบสนคาอน แลว

สดทายกนาสนคาอนนนมาใชเปนองคประกอบรวมกบสนคาเดมอก

• หากบรษทรบจายภาษเงนไดบคคลธรรมดาแทนพนกงาน ซงตามกฎเกณฑทางภาษ

อากรกาหนดใหนาภาษทจายแทนนนนามาบวกเปนเงนไดเพม แลวเงนไดรวมทเพมขนน

กตองนากลบไปยอนคดภาษเงนไดอก

• คาใชจายบางรายการ อาจมขอกาหนดทางภาษวาหามนามาหกภาษซาอก แตคาใชจาย

นนกลบมฐานการคานวณทเกดขนจากกาไรสทธ

• ในกรณของการกเงน ถาบรษทนาดอกเบยจายเงนกไปเพมยอดเงนทตองกเพม ยอมทา

ใหตองจายดอกเบยเพมและทาใหตองกเพม

• การของบประมาณคาใชจายทกาหนดวาจะใหตามอตรารอยละของกาไร ซงถากาไรเพม

กจะทาใหไดงบประมาณคาใชจายเพม แตคาใชจายทเพมขน ยอมสงผลใหกาไรลด

และทาใหไดงบประมาณคาใชจายลดลงตาม ซงกลบทาใหกาไรเพมขน

• งานคานวณอนๆ เชน การควบคมให Excel เพมคาตวเลขครงละเทาๆกน โดยสรางสตร

=Number+A1 ลงไปในเซลล A1 หรอการบนทกประวตตวเลขสงสด โดยสรางสตร

=Max(A1,NumberRange) ลงไปในเซลล A1

หมายเหต แทนทจะใชสตรทมตาแหนงอางองแบบวงกลม ซงทาใหแฟมนนมระบบการคานวณ

แบบพเศษทตองสงให Excel ยอมรบกอนจงจะคานวณไดคาตอบถกตอง เราสามารถใชคาสง

อนททาหนาทสงให Excel คานวณซาได เชน Goal Seek หรอใช Solver Add-in หรอใชคาสง

จาก Visual Basic ควบคมการคานวณแทน

73 

 

Copyright of www.ExcelExpertTraining.com 

ข นตอนการสรางสตรคานวณแบบ Circular Reference

1. ใหเลอกสรางสตรอนๆทคานวณตามปกตทกสตร (ทไมตองใชการคานวณแบบ Circular

Reference) ใหเสรจกอน แลวจงสรางสตรทตองคานวณแบบ Circular Reference เปนสตร

สดทาย เนองจากหากตองการให Excel คานวณแบบ Circular เมอใด คณจะตองสงให

Excel เลกเปดคาเตอน ซงหากมการสรางสตรผดพลาดเผลอไปสรางสตร Circular

Reference ขนโดยไมเจตนา กยอมไมมการเตอนใหทราบ

2. เมอสรางสตรคานวณแบบ Circular Reference แลวกดป ม Cancel เพอปดคาเตอนบน

หนาจอตามรปขางตนแลว จะพบคาวา Circular References: ตอดวยตาแหนงเซลลแสดง

ขนตรงขอบดานลางซายของจอ พรอมทงในพนทตารางกจะมเสนลกศรสนาเงนชตาแหนง

เซลลททาใหเกดการอางองแบบวงกลม ซงหากตองการให Excel แสดงชอตาแหนงเซลลท

เกยวของกบการอางองแบบวงกลมดวย ใหสง Formulas > Error Checking >

Circular References แลวจะพบตาแหนงเซลลทเกยวของปรากฏตอทายคาสงน

3. เมอตองการให Excel ยอมรบการคานวณแบบ Circular Reference ใหสง File > Options

> Formulas > กาชอง Enable iterative calculation (Excel 2003 สง Tools > Options

74 

 

Copyright of www.ExcelExpertTraining.com 

> Calculation > กาชอง Iteration)

4. ชอง Maximum Iterations และชอง Maximum Change นนไมจาเปนตองเขาไปแกไข

ตวเลขใดๆ ซง 2 ชองนทาหนาทสงให Excel คานวณสงสดถง 100 ครง หรออาจไมถง 100

ครงกไดโดยใหคานวณจนกวาจะพบวา คาตอบทคานวณไดในแตละรอบใหคาแตกตางกน

นอยกวา .001 กจะหยดคานวณ ซงการคานวณเปนรอบดงกลาวนจะเกดขนทนททมการ

สรางสตรนนเสรจแลวกดป ม Enter รบสตรลงไปหรอเมอมการกดป ม F9

เพอสงให Excel คานวณ

4.1. ใหเพมตวเลขจานวนรอบสงสดในชอง Maximum Iterations เมอ

พบวาทกครงทกดป ม F9 เพอสงคานวณ จะไดตวเลขคาตอบตางจาก

เดมไปเสมอ ซงหากเพมตวเลขในชองนแลวกดป ม F9 พบวาตวเลขผลจากการคานวณ

ไมเปลยนแปลงตอไปอก ยอมแสดงวาไดคาตอบสดทายแลว

4.2. ใหปรบตวเลขคาความละเอยดในชอง Maximum Change ตอเมอตองการให Excel

คานวณละเอยดขน ซงยอมทาใหตองใชจานวนครงในชอง Maximum Iterations

เพมขนตามไปดวย

5. หลงจากสงคาสงตามขอ 3 แลว จะไมพบขอความหรอตาแหนงเซลลทแสดงบนหนาจอตาม

ตาแหนงตางๆทเคยแสดงไวตามขอ 2 อกตอไป แตจะพบคาวา Calculate แสดงคางอยตรง

ขอบจอดานลางซายของโปรแกรม Excel แทน และขอใหสงเกตวาทกครงทกดป ม F9 จะ

ทาใหคาวา Calculate นหายไปชวขณะหนงแลวกลบมาแสดงใหม (โดยไมเกยวของกบการ

สงใหคานวณแบบ Manual ทจะมคาวา Calculate แสดงขนมาเชนกน แตเมอกดป ม F9

เพอสงคานวณแบบ Manual จะทาใหคาวา Calculate หายไปโดยไมกลบมาใหมอก)

6. ในกรณทตองการตรวจสอบทไปทมาของสตรทมการใชตาแหนงอางองแบบวงกลมวาม

เซลลใดทเกยวของบาง ใหยอนกลบไปตดกาชอง Enable iterative calculation ทง

ไป จากนน Excel จะแสดงตาแหนงเซลลทเกยวของไวทคาสง Formulas > Error

Checking > Circular References ซงเซลลเหลานนอาจจะเปนเซลลสตรทสรางไว

อยางตงใจหรอเผลอแกไขสตรใหตางจากเดมไปจนทาใหเกด Circular reference ขนกได

75 

 

Copyright of www.ExcelExpertTraining.com 

จากนนใหทยอยลบสตรในเซลลดงกลาวทงไปทละเซลล จนกวาจะพบวาเมอลบสตรใน

เซลลใดเสรจแลว ทาใหไมเกดคาเตอน Circular ตอไปอก หลงจากนนจงไลสรางสตรใหม

ขนมาแทน ซงหลายๆครงจะพบวาตองไลลบสตรในเซลลทงแลวตองสรางสตรใหมนบรอย

นบพนเซลลทเดยว โดยเฉพาะตารางคานวณทตองคานวณรายการรายวนหรอรายเดอนตอ

กนไปเปนตารางขนาดใหญ ดงนนผใช Excel ทกคนตองรตวทนทเมอตวเองเผลอสรางสตร

ทมตาแหนงอางองแบบวงกลมขนมาเปนครงแรก หากปลอยไวกจะตองเสยแรงเสยเวลาไล

ยอนมาแกไขกนใหมทละเซลล

7. เซลลททาใหเกด Circular น ควรใสสใหตางจากเซลลอน หรอทาเครองหมายพเศษ หรอ

เขยนอธบายกากบไวดวยเพอเตอนผใชงานใหแกไขสตรอยางระมดระวง

8. ควรตงชอแฟมทมสตรทมตาแหนงอางองแบบวงกลมใหมชอทสะดดตา จะไดไมเผลอเปด

แฟมทตองคานวณแบบ Iterations นข นมาใชงานพรอมกบแฟมอน เพราะแฟมอนๆจะรบ

คาสง Iterations นตามไปดวยโดยไมจาเปน

9. หากปดโปรแกรม Excel แลวเปด Excel ขนมาใหม จะพบวา Excel ตดกาชอง Enable

iterative calculation ทงไปใหเสมอ

เคลดลบอนๆเกยวกบการใชตาแหนงอางอง

1. ในกรณตองการหายอดรวมทกชทจากตาแหนงเซลลเดยวกน ใหสรางสตรหายอดรวมแบบ

3 มต ซงจะอยในโครงสรางสตร =SUM(ชอชทแรก:ชอชทสดทาย!ตาแหนงเซลล) เชน

=SUM(Sheet1:Sheet3!A1) ทาหนาทหายอดรวมของเซลล A1 ทอยในชท Sheet1 ถง

Sheet3 ดงนนหากตองการใหรวมขอมลจากชทใด ใหยายชทนนไปวางไวระหวาง Sheet1

ถง Sheet3

1.1. ใหเลอกเซลลคาตอบ พมพ =sum(

1.2. คลกเซลลในชทแรกทตองการ

1.3. กดป ม Shift คางไวแลวคลกชทสดทายทตองการ

1.4. กดป ม Enter

2. หากตองการหายอดรวมจากทกชทเวนชททสรางสตรนลงไป ใหพมพสตร =SUM('*'!

ตาแหนงเซลล) เชน เมอสรางสตร =SUM('*'!A1) ลงไปในชท Sheet1 จะไดสตร

=SUM(Sheet2:Sheet3!A1)

76 

 

Copyright of www.ExcelExpertTraining.com 

3. ในกรณทตองการปรบโครงสรางของตารางในชทหนงๆใหเปนหลายแบบ โดยไมจาเปนตอง

สรางชทใหมสาหรบโครงสรางตารางแตละแบบ แตใหปรบโครงสรางในชทเดมชทเดยวนน

แลวสงให Excel จดจาโครงสรางหนาตาตารางโดยสง View > Custom Views > Add

จากนนใหตงชอหนาตาโครงสรางตารางนนลงไป แลวเมอใดทตองการแสดงหนาตาตาราง

ชอใดใหสง View > Custom Views แลวเลอกชอ View ทเคยตงชอไว (วธนสามารถตง

ชอ View ขามชทไดดวย ทาใหไมตองพงชอชท แถมยงชวยปรบ Print settings และ Filter

settings ตามแบบทกาหนดไวในขณะทตงชอใหทนท)

4. ขอใหออกแบบชททกชททเกบขอมลประเภทเดยวกนไวใหใชตาแหนงเซลลเดยวกนของ

ทกชท โดยไมตองคานงวาบางชทจะมขอมลครบหรอไม จากนนใหสง Hide รายการทไมม

ขอมลนนออกไป และใหใช Custom View ชวยบนทกแบบโครงสรางตารางทงกอนและ

หลงการ Hide ไวดวย

5. พยายามหลกเลยงการใชเซลลใดๆใน Column A และ Row 1 ทงนเพอทาใหภาพตารางท

แสดงบนจอดไมอดอด และยงสามารถปรบขนาดความสงความกวางของ Column A และ

Row 1 เพอชวยปรบตาแหนงตารางในหนากระดาษพมพไดดกวาการกาหนด Margin แต

เพยงอยางเดยว

6. หาม Merge เซลลทเกยวของกบการคานวณ เพราะตาแหนงอางองในสตรทอางถงเซลลท

Merge กนไวนนอาจใหตาแหนงอางองทคลาดเคลอนจากความเปนจรงเมอมการ Copy

สตรทอางองถงตาแหนงเซลลท Merge ไปใชทเซลลอน ดงนนหากตองการปรบการแสดง

ขอมลใหเหนวาอยกลางชวงเซลลเชนเดยวกบ Merge แตวาเซลลแตละเซลลยงคงเปน

เซลลของมนเองโดยมไดรวมเปนเซลลเดยวอยาง Merge แตอยางใด ใหเลอกชวงเซลลนน

แลวคลกขวา สง Format Cells > Alignment > Center Across Selection

7. ในกรณทตองการ Cut ตารางจากชทหนงไปยงชทอน

หรอแฟมอน ใหเรมจากเลอกพนทตารางทตองการจะ

Cut ไปทงหมด (โดยตองตรวจสอบวาเปนพนทตาราง

ทงหมดทมสตรทเกยวของกน มฉะนนจะมเซลลสตรบางเซลลทกลายเปนสตร link ขาม

77 

 

Copyright of www.ExcelExpertTraining.com 

แฟม) จากนนเมอตองการ Paste สามารถเลอก Paste ทเซลลใดในชทใหมกได โดย Excel

จะปรบตาแหนงอางองตามตาแหนงในชทใหมใหเอง

8. ในกรณทตองการ Copy ตารางจากชทหนงไปยงชทอนหรอแฟมอน ใหเรมจากเลอกพนท

ตารางทตองการจะ Copy จากนนเมอตองการ Paste ใหเลอกเซลลในชทใหมทเปนเซลล

เดยวกบเซลลแรกของตารางท Copy ไวกอน แลวจงสง Paste

9. หากตองการปองกนไมใหผอ นนาแฟมไปแกไขสตร ไมจาเปนตอง Protect Sheet กได แต

ใหสงตดเครองหมาย $ ออกจากเซลลสตรทกเซลลโดยใชคาสง Replace เพอทาใหสตร

ทงหมดถกแกไขหรอสรางใหมไดยากมาก (นาสงเกตวาพอตดเครองหมาย $ ทงไป แฟมจะ

มขนาดใหญขน)

10. หากตองการปองกนการ Insert Row หรอ Insert Column ในพนทชวงใด ใหสรางสตร

Array ลงไปพรอมกนเปนรวขอบเขตนน เชน เลอกเซลล A1:A10 แลวพมพสตร =0 หรอ

=”” (=”” น จะกลายเปนรวไฟฟาทมองไมเหนขอมลในเซลลรวนนดวย)แลวกดป ม

Ctrl+Shift+Enter ลงไป จะไดรวปองกนการ Insert Row ในชวง Row 1 ถง Row 10

11. หากตองการใช Windows Explorer ในการ copy แฟม Excel ท link กนหลายๆแฟมไปเกบ

ท drive อนหรอโฟลเดอรอน ให Copy ทงโฟลเดอรทเกบแฟมท link กนนนไปพรอมกน

ทงหมด เชน ใน ถาเกบแฟมท link กนไวในโฟลเดอรชอ MyExcelFile กให Copy ตว

โฟลเดอร MyExcelFile ซงมแฟมท link กนอยภายในนนไปทงชด โดยในโฟลเดอรชอ

MyExcelFile อาจมโฟลเดอรยอยสรางไวดวยกได เมอ Copy ไปไวท drive อนแลว คณจะ

เปลยนชอโฟลเดอร MyExcelFile เปนชออนกได แตหามเปลยนชอโฟลเดอรยอยเพราะสตร

link ในแฟม Excel จะจาชอโฟลเดอรยอยไวในสตร (แตไมจาชอโฟลเดอร MyExcelFile)

12. แทนทจะจดเกบแฟมไวในชอเดม ขอใหจดเกบแฟมในชออนทกครงทมการแกไขใดๆใน

แฟมนน ทงนเพอทาใหมแฟมเกาเกบไวหลายๆรน ดกวาการมแฟมรนเดยวแฟมเดยว ซง

เสยงหากแฟมนนอาจเสยหายจนเปดไมได

78 

 

Copyright of www.ExcelExpertTraining.com 

แปนพมพลดทเก ยวของกบตาแหนงอางองและขอบเขตพนทตาราง

F2 ใชแกไขขอมลหรอสตรในเซลล

F3 ใชใสชอตาแหนงเซลลหรอชอสตรทตงไวในแฟมนนๆลงไปในสตร

หรอสง Paste List ตอ จะสรปชอทตงไวทงหมดลงไปในตาราง

F4 ใชใสเครองหมาย $ กากบตาแหนงอางอง

หรอสงทวนคาสงสดทายซา

F5 ใชหาเซลล ตามตาแหนงหรอชอตาแหนงเซลลททราบ

หรอสง Special ตอ จะคนหาตาแหนงเซลลไดอกหลายแบบ

F8 ใชควบคมตาแหนงเซลลแรกไวไมใหขยบเพอขยายตาราง (Extend)

F9 ใชสงคานวณทกชททกแฟมทเปดขน

Shift + F9 ใชสงคานวณเฉพาะชททเลอกอยชทเดยวเทานน

F2 ตามดวย F9 ใชแกะสตรในเซลลเพอดวามคาทแทจรงเปนอยางไร แลวกด Esc

Ctrl + * หรอ Ctrl+a ใชเลอกพนทตารางซงมขอมลตดตอกนไป (Current Region)

Ctrl + . ใชยาย Active Cell ไปตามเซลลหวมมของตารางทเลอกไว

Ctrl + Shift +

Shift + End

ใชเลอกพนทตารางจากเซลลทเลอกไวไปจนสดทางดานขวา

หรอตามทศทางของลกศรทกด

Ctrl + PgUp ใชเลอกชทถดไป

Ctrl + PgDn ใชเลอกชทกอนหนา

Ctrl + Tab ใชเลอกแฟมถดไปทเปดอย

Ctrl + Shift + Tab ใชเลอกแฟมกอนหนาทเปดอย

Ctrl + Shift + Enter ใชสรางสตร Array ซงจะมเครองหมาย { } ปดหวทายสตร

79 

 

Copyright of www.ExcelExpertTraining.com 

หลกการแยกตวแปร

1. ตวแปร คอ คาทมนษยสามารถกาหนดใหมคาเปลยนแปลงตางไปจากเดม ตวแปรอาจ

เปนไดทงคาทเปนตวเลข ตวอกษร หรอแมแตสตร

2. เซลลรบตวแปรอาจใชเซลลเดยวหรอหลายเซลล ขนกบประเภทของตวแปรนนๆวามการ

เปลยนแปลงไปตามระยะเวลาหรอเงอนไขอนใดหรอไม ถาเปนคาคงทซ งใชคาเดยวไป

ตลอด กสามารถใชเซลลรบคาเพยงคาเดยวเซลลเดยวในแฟมหนง แตถาเปนคาทม

ความผนผวนเปลยนแปลงไปตามระยะเวลากจาเปนตองใชหลายเซลล เชน ตวแปร

ประเภทราคาสนคา ควรกาหนดใหแตละชวงเวลามราคาสนคาแตกตางกนไปเพอใหเกด

ความยดหยนในการคานวณ กจาเปนตองใชหลายเซลลเพอรบตวแปรประเภทราคา

สนคาทมยอดตางกนไปในแตละชวงเวลา

3. ควรคดเผอไวตงแตตนเสมอวา คาคงททกคาเปนตวแปรทคาอาจเปลยนแปลง เพราะ

คาคงทใดๆทคดวาคงทในวนน อาจเปนไปไดวาไมใชคาทจะคงทไปตลอด ดงนนหาก

ไมมนใจวาจะคงทไปตลอดหรอไม ควรออกแบบตารางตงแตแรกเผอไวใหสามารถ

เปลยนแปลงตวแปรตามระยะเวลาไดดวย เชน อตราภาษธรกจเฉพาะ ซงอาจถก

ปรบเปลยนใหตางไปจากเดมในอนาคต

4. ลกเลนทางธรกจเปนตวแปรไดเหมอนกน อยาคดวาวธดาเนนการทางธรกจตองเปนแบบ

ปจจบนไปตลอด คณตองเผอเซลลรบตวแปรทอาจเกดขนหรอไมเกดขนไวกอนตงแต

แรก ดกวาทจะยอนกลบไปแกไขตารางแทรกตวแปรเพมในภายหลง ขอใหออกแบบ

โครงสรางตารางเผอไวกอนดกวาขาด

5. ในกรณทตวแปรมเงอนไขซบซอน ควรแยกตวแปรประเภทนนไปเกบเปนตารางเฉพาะ

หรอเปนชทเฉพาะหรอแมแตเปนแฟมเฉพาะสาหรบตวแปรนนๆ โดยใหออกแบบตาราง

ตามแบบโครงสรางฐานขอมลทดดวย

6. ควรใสสสรรคใหเหนเซลลรบตวแปรแยกชดเจนแตกตางจากเซลลสตรคานวณและ

กาหนดให Excel เปดรบคาใหมได โดยคลกขวาลงไปในเซลลตวแปรนน สง Format

Cells > Protection แลวตดกาชอง Locked ทงไป จากนนสง Review > Protect

Sheet (Excel 2003 สง Tools > Protection > Protect Sheet) แลวจะพบวาเมอกด

ป ม Tab จะยายตาแหนงเซลลไปตามเซลลทเปนตวแปรใหเอง

80 

 

Copyright of www.ExcelExpertTraining.com 

วธใช Goal Seek

เลขอะไรเอยนาไปคณกบเลข 3 แลวไดผลลพธเปนเลข 30 คณกตองตอบวาเลข 10 เพราะคณ

คดสตรคณในใจออกมาไดทนทเลยใชไหมวา 10*3 = 30 แตถาเปลยนโจทยใหมวา เลขอะไร

เอยนาไปคณกบเลข 3 แลวไดผลลพธเปนเลข 77.77 คราวนสมองของคณกจะคดในใจอยาง

รวดเรววา “ไมไหว คดไมไหว” ถาตองเสยเวลากดเครองคดเลขหรอสรางสตรเอาเลข 77.77 ตง

แลวหารดวย 3 เพอหาเลขอะไรเอยตวนนกได ยอมแสดงวาคณใช Goal Seek ไมเปน

Goal Seek เปนเครองมอทชวยคดยอนโดยคณไมตองเสยเวลาสรางสตรใหมเพอคดยอนเอง

แมแตนอย เพยงแตวา Goal Seek จะทางานไดตอเมอมเซลลรบตวแปรทสามารถถก Excel ทา

หนาทเปลยนแปลงเปนเลขใหมตามตองการ แตหากเปนเซลลสตรจะไมสามารถใช Goal Seek

เขาไปแกไขสตรใดๆในเซลลใหเปนคาใหมได

จากโจทยเดม เลขอะไรเอยนาไปคณกบเลข 3 แลวไดผลลพธเปนเลข 77.77

1. สรางตวอยาง 2*3 ได 6 ตามตวอยางทผานมา

2. สง Data > What-If Analysis > Goal Seek (Excel 2003 สง Tools > Goal Seek)

3. คลกในชอง Set cell: แลวใหคลกตอไปทเซลล D2 โดยเซลลนตองเปนเซลลสตร

คานวณ สวนชอง To value: ใหพมพเลข 77.77 ลงไป แลวใหคลกในชอง By

changing cell: แลวคลกตอไปทเซลล B2 โดยเซลล B2 นตองเปนเซลลรบตวแปรท

กาลงตองการหา ถอเปนตวเลขคาตอบใหมทตองการ

81 

 

Copyright of www.ExcelExpertTraining.com 

4. กดป ม OK จะพบวา Excel เปลยนตวเลข 2 ในเซลล B2 เปนตวเลข 25.92333 ซงทา

ใหเกดผลลพธทเซลล C2 เปนเลข 77.77 ตามตองการ แลวใหกดป ม OK เพอยอมรบ

คาตอบท Goal Seek หาให

5. หากตองการหาตวเลขคาตอบทตางจากเดม ตองสง Data > What-If Analysis > Goal

Seek ซาเองใหม

คราวนมาลองใช Goal Seek กบปญหาทยากขน โดยใหหาวาตวเลขคาโฆษณาในเซลล G18

ตองเปนเทาใด จงจะคดเปน 15% ของกาไรขนตน

จากภาพตารางขางบนน เซลล G16 และเซลล H17 เปนเซลลรบตวแปร ซงมคาเปนตวเลข

ยอดขาย 1,000 บาทและตวเลขเปอรเซนตตนทนขายเทากบ 20% ตามลาดบ สวนเซลลสตร

คานวณมในเซลล G17 มสตร =H17*G16 เพอหายอดตนทนขายเทากบ 200 บาท (คดเปน

20% ของยอดขาย) สวนเซลล G19 เปนเซลลสตรคานวณหากาไรขนตนมสตร =G16-G17-

G18 มาจากยอดขายหกตนทนขายและหกคาโฆษณา เซลลทเวนวางไวคอเซลล G18 ใหใชหา

คาโฆษณา ซงตอนเรมตนนเวนวางไว จงทาใหเซลล H18 ซงมสตรคานวณหาสดสวนรอยละ

ของคาโฆษณาตอกาไรขนตน =G18/G19 ซงขณะนคนคาเทากบ 0

ตวอยางนไมสามารถใชวธคดงายๆวา ในเมอตองการคาโฆษณาเปน 15% ของกาไรขนตน กให

สรางสตร =.15*G19 ลงในในเซลล G18 กสนเรอง เพราะหากสรางสตร =.15*G19 ลงไปใน

เซลล G18 จะพบวาเกดการอางองแบบวงกลม (ตองหนไปใชการคานวณแบบ Iteration เขามา

ชวย ซงเปนอกวธหนงในการแกปญหาน) เพราะหากคาโฆษณาเพม จะทาใหกาไรลด แลวพอ

82 

 

Copyright of www.ExcelExpertTraining.com 

กาไรลด ยอมสงผลใหคาโฆษณาลดตาม พอคาโฆษณาลดลง กาไรกตองเพม กลายเปนการ

คานวณแบบวงกลมทไมสามารถหาคาตอบสดทายไดโดยวธธรรมดาทวไป

คณสามารถแกปญหานโดยใช Goal Seek โดยเรมตนจากสง สง Data > What-If Analysis >

Goal Seek

1. คลกในชอง Set cell: แลวใหคลกตอไปทเซลล H18 โดยเซลลนเปนเซลลสตร

คานวณหาวาคาโฆษณาเปนรอยละเทาใดของกาไรขนตน =G18/G19

2. ชอง To value: ใหพมพเลข .15 ซงเปนตวเลขคาตอบทตองการ

3. คลกในชอง By changing cell: แลวคลกตอไปทเซลล G18 เพอใหหาตวเลขคา

โฆษณา

4. กดป ม OK > OK จะไดตวเลขคาตอบคาโฆษณาเทากบ 104.50377964375 ท Goal

Seek คดให

Goal Seek เปนเครองมอพสดารทเหมาะในการวางแผนงบประมาณ ชวยตงราคาขายสนคาเพอ

ทาใหไดกาไรตามตองการ หรอชวยในการคานวณยอนกลบในงานทคนเราคดเองไมไหวได

83 

 

Copyright of www.ExcelExpertTraining.com 

อยางไมนาเชอ ซงในงานวางแผนตดสนใจนน แทบเปนไปไมไดเลยทเราจะมความเชอมน

100% ตอคาตอบทมอยเสมอไป ดงนนแทนทจะเสยงกบการใชตวเลขเพยงตวเดยว ขอแนะนา

ใหใช Goal Seek คดยอนหาชวงคาทเปนไปไดวาอยในชวงตวเลขระหวางคาใด เพอทาให

สามารถวางแผนไดอยางยดหยนมากขน เชน เดมเคยถามวา ตวเลขคาโฆษณาในเซลล G18

ตองเปนเทาใด จงจะคดเปน 15% ของกาไรขนตน กใหใช Goal Seek คนหาคาตอบทยดหยน

กวาเดมวา ตวเลขคาโฆษณาในเซลล G18 ตองเปนคาระหวางเลขใด จงจะคดเปน 15% -

20% ของกาไรขนตน

ขอจากดของ Goal Seek และวธแกไข

ขอจากดทสาคญของ Goal Seek เกดจากทกครงทตองการคดยอนครงใหม คณตองเปนผสงให

Goal Seek ทางานซาดวยตนเอง และ Goal Seek จะยอมใหเปลยนแปลงตวเลขตวแปรไดเพยง

เซลลเดยว นอกจากนสวนทไมยดหยนทสดกคอ คณตองกรอกตวเลขทตองการลงไปในชอง

To value เองเสมอ โดยไมสามารถ link คาตวเลขเปาหมายทตองการจากเซลลเขาไปใชใน

Goal Seek จงเปนเครองมอทไมเหมาะสาหรบผทไมเคยใช Goal Seek มากอน

เราสามารถแกไขจดออนของ Goal Seek ใหสามารถรบคาจากเซลลไดโดยตรง และหาทาง

ปรบปรงให Goal Seek ทางานหาคาตอบใหเองทนทอยางอตโนมต โดยเรมจากใช Macro

Recorder บนทกการสง Data > What-If Analysis > Goal Seek แลวใชงานตามตวอยางการ

คานวณหาคาโฆษณาในตวอยางทผานมา จะไดรหส VBA ตามน

Sub SetGoal()

Range("H18").GoalSeek Goal:=0.15, ChangingCell:=Range("G18")

End Sub

จากนนใหแกไขตาแหนงอางองและคาคงทในตวรหสใหอางถงชอ Range Name ทตงไวใน

ตารางกลายเปนรหสใหมดงน

Sub SetGoal()

[MyTarget].GoalSeek Goal:=[TargetValue], ChangingCell:=[ChangeCell]

End Sub

84 

 

Copyright of www.ExcelExpertTraining.com 

โดยกาหนดใหตงชอ Range Name ชอวา MyTarget ใหกบเซลล H18 และชอ ChangeCell

ใหกบเซลล G18 และเมอใดทตองการตวเลขตวใหม ใหกรอกตวเลขลงไปในเซลลทตงชอวา

TargetValue

หากตองการความสะดวกมากขน ควรสงให Goal Seek ทางานเองโดยใช Event กจะได

ผลลพธทนทโดยไมตองเสยเวลามาเปด Goal Seek ขนเพอกรอกคาเองอกตอไป เชน หากใช

Calculation Event กจะไดผลลพธตามการคานวณใดๆทเกดขนในชทนน

Private Sub Worksheet_Calculate()

[MyTarget].GoalSeek Goal:=[TargetValue], ChangingCell:=[ChangeCell]

End Sub

85 

 

Copyright of www.ExcelExpertTraining.com 

วธใช Data Table

ถาถามวาตอนเรมตนใชสตรคานวณใน Excel แรกเรมนนคณตองรจกใชอะไรใหเปน กตอบวา

ตองรจกการกาหนดตาแหนงอางองโดยการใชเครองหมาย $ ควบคมแนวของคาทใชในการ

คานวณ แลวถาถามตอไปวา ตอนสรางแฟมงานเสรจแลวละตองใชอะไรใหเปน คาตอบกคอ

ตองใช Data Table สรปคาตอบทเปนไปไดเพอใชตดสนใจ

Data Table เปนคาสงทมมานานแลวแตมกถกละเลยไมสนใจใชกนนก คงเปนเพราะคาสงนถก

ออกแบบมาใหอยกนเมน Data จงทาใหนกไปวาเปนคาสงทไมเกยวของกบการคานวณ อก

ทงตวอยางและคาอธบายใน Help กมไดใหรายละเอยดชดเจนนก ผทจะเขาใจ Data Table ได

กตองลองใชคาสงนดแลวจงจะซงถงประโยชนของมน

Data Table อาศยการออกแบบตารางแบบพเศษทจะชวยให Excel นาคาทวางไวบนหวตาราง

หรอขางตารางดานใดดานหนงหรอทงสองดาน สงตอไปแทนทคาหรอสตรทบนทกไวในเซลล

เมอคาในเซลลเหลานนเปลยนไปตามคาสง Data Table กจะทาใหเซลลสตรทเกยวของ

คานวณหาคาตอบใหม เพยงแตการเปลยนแปลงคาในเซลลและคาตอบใหมทเกดขนนน เราจะ

ไมเหนมการเปลยนแปลงใดๆเกดขนในตาราง แตจะพบวา Excel นาคาตอบมาสรปไวในตาราง

Data Table ใหเอง

สาหรบผทคนเคยกบการเขยนโปรแกรมสาเรจรป การทางานของ Data Table เปรยบเทยบได

กบการใชรหสโปรแกรมสงให Excel ทางานซาหลายครงเปน loop โดย Excel จะสงคาไปท

เซลลทเรากาหนดใหในแตละ loop ทงน Data Table จะทางานเปน loop ใหอตโนมตโดยเรา

ไมตองเสยเวลาเขยนโปรแกรมแมแตนอย

Data Table ม 3 แบบตามจานวนตวแปรทเกยวของ ไดแก

• Data Table แบบ 1 ตวแปร

• Data Table แบบ 2 ตวแปร

• Data Table แบบไมจากดตวแปร โดยใชรวมกบสตร Index (กลายเปนวธทฉลาดกวา

การใช Scenarios)

โครงสรางตาราง Data Table แบงเปน 4 สวน ตามรป

86 

 

Copyright of www.ExcelExpertTraining.com 

Data Table แบบ 1 ตวแปร

จากตวอยางการหาคาโฆษณา หากกาหนดใหคาโฆษณาเปนตวเลขในชวง 100 ถง 400 บาท

ใหหาวาจะสงผลตอกาไรขนตนอยางไร

ทางออกในการแกปญหาน หากคณไมรจก Data Table มากอน กคงตองสรางตารางคานวณซา

กนหลายๆตารางเพอทดลองใสตวเลขคาโฆษณาลงไปเพอหาผลลพธทตองการ

แทนทจะเสยแรงเสยเวลาสรางตารางคานวณซา ใหออกแบบโครงสรางตาราง Data Table

ขนมากอน โดยในปญหานสงเกตวาตองการเปลยนคาโฆษณาเพยงคาเดยว ดงนนจงเขาขาย

Data Table แบบ 1 ตวแปร ซงมโครงสรางแยกแยะออกไปอก 2 แบบยอยตามแตวาคณ

ตองการดตวแปรตามแนวใด ไดแก

• Data Table แบบวางตวแปรไวในหวตารางดานขางตามแนวตง สวนหวตารางดานบน

เปนสตรคาตอบท link มา และเมอสง Data Table ใหเลอกใชชอง Column Input Cell

• Data Table แบบวางตวแปรไวในหวตารางดานบนตามแนวนอน สวนหวตารางดานขาง

เปนสตรคาตอบท link มา และเมอสง Data Table ใหเลอกใชชอง Row Input Cell

ตวอยางการใช Data Table แบบวางตวแปรไวในหวตารางดานขางตามแนวตง

87 

 

Copyright of www.ExcelExpertTraining.com 

1. นาตวเลขคาโฆษณามาพมพลงในเซลล E23:E27 โดยจะกาหนดใหเปนตวเลขใด

กอนหลงกได ไมจาเปนตองเรยงลาดบมากนอย

2. เซลล F22 และ G22 สรางสตร link ผลลพธของสตรคานวณมาจากเซลล G19 และ

H18 ตามลาดบ

3. ใหเลอกพนท E22:G27 แลวสง Data > What-If Analysis > Data Table (Excel

2003 สง Data > Table)

4. คลกลงในชอง Column input cell แลวคลกตอไปทเซลล G18 (เพอกาหนดให Data

Table ยงตวเลขคาโฆษณาทวางไวตามแนวตงไปทเซลล G18) แลวกดป ม OK

5. จะพบคาตอบปรากฏในตาราง F23:G27 และเมอคลกดจะพบสตร {=TABLE(,G18)}

ซงสตรนเราไมสามารถสรางเอง ตองใชคาสง Data Table เทานนจงจะเกดสตรนข น

และเมอดในสตรจะพบ (,G18) แสดงถงการไมใช Row Input แตใช Column Input ม

เซลล G18 เปนเซลลรบคา

หากใชตาราง Data Table แบบวางตวแปรไวในหวตารางดานบนตามแนวนอน ตองออกแบบ

ตารางตามรปตอไปน

ขอสงเกต

1. Data Table แบบ 1 ตวแปร สามารถหาคาตอบมาแสดงในตารางไดหลายเรอง ตามแต

วาจะ link สตรคาตอบเรองใดมาแสดงในหวตารางอกขางหนง จงใหผลลพธไดมากกวา

Data Table แบบ 2 ตวแปร ซงแมจะใชตวแปรได 2 ตว แตจะแสดงคาตอบในตารางได

เพยงเรองเดยวเพราะมเซลลหวมมเพยงเซลลเดยว

2. ถาตองการใชตวแปรมากกวา 2 ตว หรอตองการคาตอบหลายเรอง สามารถใชสตร If,

Choose หรอ Index ชวยทาให Data Table ทางานไดไมจากด

88 

 

Copyright of www.ExcelExpertTraining.com 

3. สตรท Excel สรางใหเมอสราง Data table เปนสตรทถกสรางขนแบบ Array พรอมกน

ทกเซลล โดยมโครงสรางสตรดงน

=Table(Row Input Cell, Column Input Cell)

Data Table แบบ 1 ตวแปร จะเกดสตร =Table(Row Input Cell,) เมอเปนตารางทใช

Row Input และจะเกดสตร =Table(, Column Input Cell) เมอเปนตารางทใช

Column Input สวน Data Table แบบ 2 ตวแปรจะเกดสตรทใชโครงสรางแบบเตม

=Table(Row Input Cell, Column Input Cell)

4. การอานผลลพธจากตาราง Data Table ตองอธบายใหชดเจนวา ในขณะทคาโฆษณา

เปลยนแปลงไปนน ตวเลขตวแปรอน ไดแก ยอดขาย และ %ตนทนขาย ถอวาคงท

5. คาโฆษณาในเซลล G18 จะเวนวางไวหรอจะใสตวเลขใดๆแมจะสรางสตรคานวณไวกอน

หรอหลงการสง Data Table กได เพราะไมมผลตอการคานวณใน Data Table

6. ตาราง Data Table ไมสามารถถก Copy ออกไปใชทอ น เพราะเมอ Paste จะพบวาสตร

Table ในตารางถกเปลยนเปนตวเลขคาคาตอบแทนทกเซลล

7. เราไมสามารถ Insert แทรกเซลลสตร Table และหากตองการลบสตร Table ทง ตอง

เลอกพนทตารางทงหมดทมสตร Table แลวจงจะสามารถลบสตรทงพรอมกนทกเซลล

Data Table แบบ 2 ตวแปร

ในตวอยางเดม หากตองการวเคราะหวาถาเราเปลยนแปลงตนทนขายและคาโฆษณาจะมผล

อยางไรบางตอยอดกาไรขนตน

89 

 

Copyright of www.ExcelExpertTraining.com 

1. พมพตวแปรตนทนขายไวในเซลล F22:H22 ซงถอเปน Row Input

2. พมพตวแปรตนคาโฆษณาไวในเซลล E23:E27 ซงถอเปน Column Input

3. ในเซลลหวมมตาราง E22 สรางสตร =G19 เพอ link สตรคานวณหากาไรขนตนมาใช

4. จากนนใหเลอกพนทตงแต E22:H27 แลวสง Data > What-If Analysis > Data

Table (Excel 2003 สง Data > Table)

5. คลกลงไปในชอง Row Input Cell แลวคลกตอไปยงเซลล G17 ซงเปนเซลลตนทน

ขาย

6. คลกลงไปในชอง Column Input Cell แลวคลกตอไปยงเซลล G18 ซงเปนเซลลคา

โฆษณา แลวกดป ม OK จะพบคาตอบของกาไรขนตน แสดงในตาราง F23:H27

เมอนา Data Table มาเปรยบเทยบกบ Goal Seek มขอสงเกตดงน

1. Data Table สามารถสงคาตวแปรใหมครงละหลายตวไปแทนทเซลลทมสตรสรางไว ซง

Excel จะคานวณใหตามคาตวแปรใหมนน โดยถอวาไมไดใชสตรทสรางไวกอนแลวในเซลล

นนมาใชคานวณรวมดวยแตอยางใด สวน Goal Seek สามารถสงตวแปรใหมไปไดครงละ 1

ตวและไมสามารถสงตวแปรไปแทนเซลลทเปนสตร

2. Data Table เหมาะกบการใชวางแผนระยะยาว โดยกาหนดคาตวแปรบนหวตารางให

ครอบคลมชวงคาทเปนไปไดเพอดผลลพธทเกดขนในชวงคานนๆซงอาจไมไดคาตอบตรง

กบคาเปาหมายทตองการ สวน Goal Seek เหมาะสาหรบการวเคราะหหาตวเลขเฉพาะกจ

ซงจะคดยอนกลบจนไดตวเลขตามตองการ

3. เราสามารถสง Formulas > Calculation Options > Automatic Except for Data Tables

(Excel 2003 สง Tools > Options > Calculation > Automatic except tables) เพอ

กาหนดใหใชการกดป ม F9 เพอสงให Data Table คานวณเฉพาะเมอตองการเทานน สวน

Goal Seek แมวาจะพบวาใชกบการคานวณแบบ Automatic หรอ Manual กได แตเราควร

ใช Goal Seek รวมกบการคานวณแบบ Automatic ไวกอน เพอชวยทาใหมนใจวาเซลล

สตรทเกยวของถกคานวณตามกนไปครบทงหมดดวย

4. เนองจากเราเปนผกาหนดคาตวแปรใหใชกบ Data Table ดงนน Excel จะถกสงใหคานวณ

ตามคาตวแปรเหลานนจนครบทกตว สวน Goal Seek จะคานวณยอนกลบใหเองแตอาจได

คาตอบเฉพาะในชวงคาท Excel คนหาใหเทานน

5. หาก Data Table ไมสามารถหาคาตอบทตองการ กสามารถใช Goal Seek ทางานตอบน

ตาราง Data Table โดยใหใช Goal Seek คดยอนหาคาตวแปรบนหวตาราง Data Table

จนกวาจะคานวณไดคาตอบมาปรากฏขนในพนทสวนของคาตอบในตาราง Data table

90 

 

Copyright of www.ExcelExpertTraining.com 

หลากหลายแนวทางการใชสตร IF

ในบรรดาสตรสาเรจรปของ Excel นน สตรทใชมากทสดและมประโยชนมากทสดรองจากสตร

SUM เหนจะหนไมพนสตร IF ซงแปลวา "ถา" นแหละ โดยเฉพาะคนทมตาแหนงขนชอวาเปน

หวหนา ถาใชสตร IF ไมเปน กไมสมควรเปนหวหนาหรอกนะ เปลยนตาแหนงใหไดชอตรงขาม

กบคาวาหวกบหนา ใหกลายเปนตาแหนงเทาหลงแทนจะเหมาะสมกวา

ถานาเงอนไขขางตนเกยวกบหวหนามาเขยนดวยสตร IF จะไดสตรตามน

=IF ( หวหนาใชสตร IF เปนหรอไม , ถาใชเปน ใหเปนหวหนาตอไป , ถาใชไมเปน ให

เปนเทาหลงแทน )

หรอถาคดเขยนสตร IF ตามหลกกฎแหงกรรมของการทาดตองไดด ทาชวไดชว จะไดสตรตาม

=IF ( คณทาดใชไหม , ถาทาด ตองไดด , ถาไมทาด ตองไดรบผลอนๆ )

สงเกตวาในสตร IF ของการตรวจสอบวาทาดหรอไมนน ถาไมไดทาด ไมใชวาจะไดชว เพราะ

เงอนไขทใชเปนเพยงตรวจสอบวาทาดอยางเดยวเทานน คนทไมไดทาด ไมใชวาตองทาชวก

ได อาจอยเฉยๆไมไดทาดไมไดทาชว ดงนนกรณทไมไดทาด จงตองไดรบผลอยางอนซงไมใช

ผลจากการทาด

ถาคณเขาใจวธคดเงอนไขในใจของตวคณเอง กจะพบวาบรษทไมโครซอฟทไดสราง Excel

ขนมาโดยใชสตร IF ทมโครงสรางของสตรตามหลกการเดยวกนกบทคณคดไดนนเอง

โครงสรางสตร IF

=IF(การตรวจสอบเงอนไข, ผลลพธกรณทตรวจสอบเงอนไขวาใช, ผลลพธกรณท

ตรวจสอบเงอนไขวาไมใช)

ในสวนของการตรวจสอบเงอนไข ใหใสสมการทตองการลงไป โดยใชเครองหมาย =, >, <,

>=, <=, หรอไมเทากบ <> หรอในสวนของการตรวจสอบเงอนไขน อาจใชสตรอนซงคนคา

91 

 

Copyright of www.ExcelExpertTraining.com 

เปน TRUE หรอ FALSE อยางใดอยางหนง เชน AND, OR, TRUE, FALSE, ISNUMBER เปน

ตน

ตวอยางการใช IF แบบงายๆ

=IF(SaleChoice="n", 1000, 2000)

สตรนจะคนคาเปนตวเลข 1000 ตอเมอเซลลทตงชอวา SaleChoice มคาเปนตวอกษร n

เทานน แตถา SaleChoice มคาอน จะคนคาเปนตวเลข 2000 แทน

เนองจากตวอกษร n เปนตวอกษรท Excel ไมรจก จงจาเปนตองใส "n" ไวระหวางเครองหมาย

คาพด สวนคาวา IF และ SaleChoice นนแมวาเปนตวอกษรแตไมตองใสระหวางเครองหมาย

คาพดเพราะเปนตวอกษรท Excel รจกแลววาคาวา IF คอสตรชอ IF และคาวา SaleChoice เปน

Range Name ทตงชอไว สวนตวเลข 1000 และ 2000 เปนตวเลขท Excel รบทราบอยแลววา

เปนตวเลขจงไมตองใสระหวางเครองหมายคาพดแตอยางใด

=IF(MyMargin>0, MyMargin*0.3, 0)

สตรนใชกบการคานวณหายอดภาษ ถา MyMargin หรอเซลลกาไรขนตนมคามากกวา 0 ยอม

แสดงวามกาไรเกดขน จงนายอดกาไรขนตนไปคณดวยอตราภาษ 30% แตถาไมมกาไรกไม

ตองจายภาษ

แนวทางการใชสตร IF

1.ใชเปลยนเสนทางการรบคา

2.ใชในการตดสนใจ

3.ใชในการเปลยนคาหรอแสดงคา

4.ใชเปลยนเสนทางการสงคา

92 

 

Copyright of www.ExcelExpertTraining.com 

การใชสตร IF ในการเปลยนเสนทางการรบคา

การสรางสตรลงคเพอเชอมโยงคาโดยทวไปเปนการเชอมโยงกนแบบ 1 ตอ 1 เชน เมอตองการ

ทาใหเซลล A2 มคาเทากบเซลล A1 กจะสรางสตร =A1 ลงไปในเซลล A2 ทาใหเซลล A2

แสดงคาเปลยนแปลงตามคาในเซลล A1 ซงการลงคแบบนเซลล A1 เรยกวาเปนเซลลตนทาง

และเซลล A2 เรยกวาเปนเซลลปลายทาง

แตถาเซลลตนทางมมากกวา 1 เซลล เชนกาหนดใหเซลล C2 และ C3 สามารถเปนเซลลตน

ทางไดทงค โดยกาหนดใหเซลล E3 เปนเซลลปลายทางเพยงเซลลเดยว โดยเลอกทจะรบคา

จากเซลล C2 หรอ C3 กไดแลวแตเงอนไขทเรากาหนดวาจะใหเลอกรบคามาจากเซลลใด

จากภาพกาหนดใหเซลล E2 เปนเซลลสาหรบใสคาเงอนไขลงไปวาจะเปนตวอกษร A หรอ B

(หรอคาอนใดกได) สวนเซลล E3 ซงเปนเซลลปลายทาง ใหสรางสตรตอไปน

=IF( E2="A", C2, C3)

ดงนนเมอเซลล E2 มคาเปน A จงทาใหเซลล E3 รบคา 100 มาจากเซลล C2 แตถาเซลล E2

ไมไดมคาเปน A กจะทาใหเซลล E3 เปลยนเสนทางการรบคา 200 มาจากเซลล C3 แทน

แตถากาหนดใหมจานวนเซลลตนทางมากมายหลายเซลล เชน ตามรปตอไปนใชเซลลตนทาง

ถง 14 เซลล

93 

 

Copyright of www.ExcelExpertTraining.com 

สตรลงคเพอเลอกรบคาในเซลล F9 จะกลายเปนสตรซบซอนมากขน

=IF(E9="A",C2,IF(E9="B",C5,IF(E9="C",C8,IF(E9="D",C11,IF(E9="E",C14,IF(

E9="F",C17,IF(E9="G",F2,IF(E9="H",F17,IF(E9="I",I2,IF(E9="J",I5,IF(E9="

K",I8,IF(E9="L",I11,IF(E9="M",I14,I17)))))))))))))

ซงเซลล E9 มคาเปน K จงทาใหสตร IF ในเซลล F9 เลอกรบคามาจากเซลล I8

แตถาโครงสรางตารางไมไดจดใหเปนระเบยบ แมสตร IF จะยงคงทางานไดตามเดมกตาม แต

จะพบวาการแกะสตรเพอตรวจสอบความถกตองทาไดยากขนมาก

สตรในเซลล F9

94 

 

Copyright of www.ExcelExpertTraining.com 

=IF(E9="A",C2,IF(E9="B",I3,IF(E9="C",J11,IF(E9="D",F2,IF(E9="E",I9,IF(E9

="F",J16,IF(E9="G",H14,IF(E9="H",E14,IF(E9="I",G17,IF(E9="J",H7,IF(E9=

"K",C8,IF(E9="L",D6,IF(E9="M",D12,C17)))))))))))))

แตชวยตรวจสอบวา แมวา E9 มคาเทากบ K ทาใหเซลล F9 รบคา 1100 มาจากเซลล C8 ได

ถกตองตามตองการกตาม แตคา 1100 ทไดรบมานน ไมใชตวเลขของคา K แตเปนของคา X

มใชหรอ

ตงแต Excel 2007 เปนตนมา ในวงเลบของแตละสตร เราสามารถซอนสตรเขาไปไดถง 64 สตร

(Excel 2003 และรนกอนนนจะซอนไดเพยง 7 สตร) ซงจากตวอยางขางตนนาจะทาใหเราได

เรยนรวา ถงแมวาเราสามารถใชสตร IF ซอน IF เพอหาคาทกระจายกนอยตางทตางชทตาง

แฟมไดกตาม แตการกระจายกนของคานเอง หากกระจายอยางขาดระเบยบ ยอมเพมความเสยง

ทจะหาคาตอบผดพลาดไดโดยไมรตว และเมอจะตรวจสอบแกไขกจะทาใหทาไดยาก

ดงนนโปรดจาไววา ขอใหเลอกใชสตร IF กบปญหางายๆ แตเมอปญหาซบซอนมากขน เราควร

ปรบเปลยนโครงสรางตารางหรอเลอกใชสตรอนซงทางานไดเชนเดยวกนกบสตร IF จะ

เหมาะสมกวา

95 

 

Copyright of www.ExcelExpertTraining.com 

การใชสตร IF ในการตดสนใจ

โครงสรางสตร IF แบบงายๆ =IF(เงอนไข,ผลกรณใช,ผลกรณไมใช) มพนฐานของตวสตรทา

หนาทตดสนใจตามเงอนไขทเรากาหนดลงไปในสตรอยแลว ไมวาจะใชสตร IF ในการเปลยน

เสนทางการรบคาหรอใชในการปรบเปลยนคากตาม ยอมถอวาเปนการใชสตร IF ในการ

ตดสนใจนนเอง เพยงแตหวขอนจะแยกแยะประเภทของการตดสนใจใหเหนชดขน

การใชสตร IF ในการตดสนใจม 2 แบบ ขนกบวาเงอนไขถดไปกาหนดวาตองผานเงอนไขกอน

หนาอยางไร

1. การใช IF แบบกาหนดเงอนไขแตกตอกรณทไมใช

2. การใช IF แบบกาหนดเงอนไขแตกตอกรณทใช

การใช IF แบบกาหนดเงอนไขแตกตอกรณทไมใช

เปนเงอนไขทพบเหนกนทวไป เชน สตร IF ในตวอยางทใชสาหรบเปลยนเสนทางในการรบคา

นนเอง เมอเงอนไขการรบคาแรกผานไปแลว ไดคาตอบแรกตามเงอนไขแรกเมอตดสนวาใชไป

แลวกจะไดคาตอบกรณทใชเรยบรอย แตหากเงอนไขแรกไมผาน กจะตองพจารณาเงอนไขใน

ลาดบถดไป ซงแสดงเปนโครงสรางสตร IF จากแบบงายๆกลายเปนแบบซอนกนดงน

สาหรบการตดสนใจในเงอนไขแรก

=IF(เงอนไขท 1, ผลกรณใชของเงอนไขท 1, ผลกรณไมใชของเงอนไขท 1)

ถาเงอนไขท 1 ยงไมผาน ใหแตกผลกรณไมใชของเงอนไขท 1 ตอเปน IF สตรทสองเพอคด

ตามเงอนไขท 2

=IF(เงอนไขท 2, ผลกรณใชของเงอนไขท 2, ผลกรณไมใชของเงอนไขท 2)

เมอนาสตรทงสองเงอนไขมาซอนเปนสตรในเซลลเดยว จะไดสตรตามน

=IF(เง อนไขท 1, ผลกรณใชของเงอนไขท 1, IF(เงอนไขท 2, ผลกรณใชของ

เงอนไขท 2, ผลกรณไมใชของเงอนไขท 2) )

96 

 

Copyright of www.ExcelExpertTraining.com 

ตวอยางการใช IF แบบกาหนดเงอนไขแตกตอกรณทไมใชในการตดเกรด

กาหนดใหเซลล B3:C5 เปนตารางคะแนน-เกรด

• ถาสอบไดตงแต 90 คะแนนขนไปใหไดเกรด A

• ถาสอบไดตงแต 70 คะแนนขนไปใหไดเกรด B

• ถาสอบไดตงแต 0 คะแนนขนไปใหไดเกรด C

สมมตวาเซลล E3 มคาเปน 75 เปนคะแนนทสอบได เซลล F3 หาคาตอบเปนเกรด B โดยใช

สตร IF ซอนกนดงน

=IF( E3>=B3, C3, IF(E3>=B4,C4,C5) )

ซงแปลสตรออกมาตามเงอนไขทกาหนดไดเปน

=IF( คะแนนทสอบได >=90, "A", IF(คะแนนทสอบได >=70,"B","C") )

ขอสงเกต

1. การเขยนสตร IF ซอน IF มหลกการสาคญ คอ ตองจดลาดบของเงอนไขทเปด

โอกาสให IF ทกตวในสตรมโอกาสไดทางาน ดงนนจงตองใชเงอนไข คะแนนท

สอบได >=90 ขนกอนเปนเงอนไขแรก หากเงอนไขนไมผานจงปลอยใหเงอนไขถดไป

ทางาน (แตถาสรางผดโดยใชเงอนไข >=70 ขนกอน จะปดโอกาสของเงอนไขเกรด A

เพราะ >=70 ยอมหมายถง >=90 อยแลว)

2. แมตองการเกรด A, B, C แตเราใช IF ซอนกนเพยง 2 IF เทานน เพราะถาไมใชทงสอง

เงอนไข กตองเปนเกรด C นนเอง

97 

 

Copyright of www.ExcelExpertTraining.com 

การใช IF แบบกาหนดเงอนไขแตกตอกรณทใช

เปนเงอนไขทกาหนดซอนเขาไปเพอตดสนใจในทกเงอนไขพรอมกนไป เกดเปนโครงสรางสตร

ตามน

=IF(เงอนไขท 1, IF(เงอนไขท 2, ผลกรณใชของเงอนไขท 1 และ 2, ผลกรณไมใช

ของเงอนไขท 2), ผลกรณไมใชของเงอนไขท 1)

หากผลกรณทใชของทกเงอนไขเปนคาเดยวกน สวนผลกรณทไมใชของเงอนไขท 1 และผล

กรณทไมใชของเงอนไขท 2 เปนคาเดยวกน แทนทจะใชสตร IF ซอนกนหลายสตร ใหใชสตร

And หรอ Or มาชวยในสตร IF เพยงสตรเดยวไดดงน

=IF( And( เง อนไขท 1,เง อนไขท 2), ผลกรณใช, ผลกรณไมใช)

=IF( OR( เง อนไขท 1,เง อนไขท 2), ผลกรณใช, ผลกรณไมใช)

หมายเหต

1. สตร And จะคนคาเปนจรงตอเมอทกเงอนไขเปนจรงพรอมกน หากเงอนไขใดเงอนไข

หนงเปนเทจ จะคนคาเปนเทจ (จาวา False เปนลกษณะเดน)

2. สตร OR จะคนคาเปนเทจตอเมอทกเงอนไขเปนเทจพรอมกน หากเงอนไขใดเงอนไข

หนงเปนจรง จะคนคาเปนจรง (จาวา True เปนลกษณะเดน)

98 

 

Copyright of www.ExcelExpertTraining.com 

ตวอยางการใช IF แบบกาหนดเงอนไขแตกตอกรณทใชในการปองกน

สตรลบ

สมมตวาเราตองการบวกเลข 1 กบเลข 2 ในเซลล B2 และ C2 เขาดวยกน แตกอนจะยอมให

สตร B2+C2 ทางานไดตามปกต ตองผานการกรอกรหสลงไปในเซลล B4 และ B5 เปนเลข

123 และ 999 ตามลาดบใหถกตองเรยบรอยกอน

ถาสรางสตร IF ซอน IF จะไดสตรตามเซลล D2

=IF( B4=123, IF(B5=999, B2+C2, 0), 0)

หรอใชสตร And มาใชงานรวมดวย กลายเปนสตร IF เพยงสตรเดยวดงน

=IF( AND(B4=123,B5=999), B2+C2, 0)

99 

 

Copyright of www.ExcelExpertTraining.com 

ตวอยางการใช IF แบบกาหนดเงอนไขแตกตอกรณทใชในการรบเงน

ในชวงวนทกาหนด

หากตองการรบเงน 100 บาท ระหวางวนท 2-5 กาหนดใหใช Range Name ในตารางตอไปน

• B3:B8 ชอ From

• C3:C8 ชอ To

• D3:D8 ชอ Amount

• E2:K2 ชอ Date

เซลล E3 เปนสตรรบเงนในชวงวนทตองการตามน

=IF( Date>=From, IF(Date<=To,Amount,0), 0)

หรอ

=IF( AND(Date>=From,Date<=To), Amount, 0)

ขอสงเกต

ตวอยางนใชสตร And มาชวยเพราะตองการใหคนคาเปน True เฉพาะในชวงวนท 2-5 เทานน

(ดเซลล E8:K8)

100 

 

Copyright of www.ExcelExpertTraining.com 

การใชสตร IF ในการเปลยนคาหรอแสดงคา

ในกรณทผลลพธจากการคานวณหรอคาทไดจากการลงคตอมาจากเซลลอน อาจไมใชคาท

ตองการแสดงใหผใชเหนเสมอไป เราสามารถนาสตร IF มาชวยเปลยนคาเดมนนใหกลายเปน

คาใหมหรอเปลยนจากตวเลขหรอคาเตอน Error ใหกลายเปนตวอกษรทสอความหมายได

ชดเจนกวาแทน

โปรดดตวอยางจาก Row 2 ขางตน ในการนาเลขมาหารกนนน หากเปนตวเลขทนามาหารกน

ได กยอมคนคาทตองการออกมาไดทนท เชน เมอนาเลข 100 จากเซลล B2 มาหารดวยเลข 5

จากเซลล C2 โดยสรางสตร = B2/C2 ลงไปในเซลล D2 จะไดคาตอบเปนตวเลข 20

ใน Row 5 ถาเปลยนเลข 5 ทเปนตวหาร ใหเปนเลข 0 แทน จะพบวาสตร =B5/C5 ไมสามารถ

คานวณได โดยแสดง Error #DIV/0! ออกมาแทน (#DIV/0! ยอมาจากคาวา Error from

Divided by Zero หรอ Error เนองจากการถกหารดวยเลข 0)

เราสามารถเปลยนการแสดง Error ใหเปนเลข 0 แทน โดยใชสตรตามตวอยางใน Row 8 ดงน

=IF(C8=0, 0, B8/C8)

หรออานสตรเปนคาแปลวา ถาเซลลตวหารมคาเทากบ 0 ใหผลลพธแสดงเลข 0 แทนการแสดง

Error แตถาตวหารไมใชเลข 0 กใหคานวณหารกนตอไปตามปกต

ถาตวหารไมใชเลข 0 แตกลบกลายเปนตวอกษร o จะพบวาสตร IF ขางตนนคอคาออกมาเปน

#VALUE! แทน เพราะ Excel ไมยอมรบการนาตวอกษรไปหารตวเลข

ใน Row 11 กรณทตวหารเปนตวอกษร o (หรอตวอกษรอนใด) เราสามารถปองกนการเกด

Error จากการหารโดยใชสตร IsError มาชวยตรวจสอบการคานวณวาจะเกด Error หรอไม

101 

 

Copyright of www.ExcelExpertTraining.com 

=IF( ISERROR(B11/C11), 0, B11/C11)

หรอตงแต Excel 2007 เปนตนมาม IfError เปนสตรใหมทสนลง

=IFERROR(B11/C11,0)

หมายเหต

1. กอนทจะใชสตร IsError ควรหาทางตรวจสอบสตรคานวณทสรางกอนวาสามารถ

คานวณไดคาตอบทตองการหรอไม เพราะหากใชสตร IsError เขามาชวยรวมกบสตร IF

แลว เราจะไมเหน Error เกดขนอกเลย

2. ควรเลอกนาเฉพาะบางสวนของการคานวณจากสตรทจะนามาตรวจสอบดวยสตร

IsError โดยไมจาเปนตองนาสตรยาวๆทงหมดมาใสลงไปในวงเลบของสตร IsError

3. ในกรณทเกด Error ขน ในกรณทผลลพธเดมเปน Text ควรเปลยน Error เปนคาเตอน

หรอกรณผลลพธเดมเปนเลข ควรเปลยน Error เปนเลข 0 แทน จากนนใหใช Format

0;-0; ซอนเลข 0 ใหดเหมอนเปนชองวาง

4. ในการเปลยนการแสดง Error ใหแสดงเปนชองวาง พยายามหลกเลยงการใช Null Text

หรอ "" (แทนการใชเลข 0) เพราะ "" มสภาพเปน Text ซงหากนาคานไปบวกลบคณ

หารตอจะเกด Error ตอไปอก กลายเปนภาระใหเราตองสรางสตร =IF(Cell="", "",

Cell) ตอไปอก ซงทาใหแฟมคานวณชาลงและมขนาดใหญขนโดยไมจาเปน

5. ในกรณทตองการแสดง #N/A ใหใชสตร NA()

6. นอกเหนอจากการใชสตร IF ชวยในการเปลยน Error ใหเปนคาอนแลว ในหนากระดาษ

ทถกพมพ สามารถใชคาสง Page Setup > Sheet > Print > Cells error as เพอ

เปลยนเซลลทมคาเปน Error ใหแสดงเปนชองวาง, --, #N/A แทนไดอกดวย

สตรกลม Is ทใชชวยในการตรวจสอบ

• IsNA ตรวจสอบ Error #N/A "Not Available" ซงเกดจากสตรกลม Lookup ในกรณท

หาคาทตองการไมพบ

• IsError ตรวจสอบ Error ทกประเภท

• IsErr ตรวจสอบ Error เกอบทกประเภท เวน NA

• IsBlank ตรวจสอบเซลลวาง

102 

 

Copyright of www.ExcelExpertTraining.com 

• IsText ตรวจสอบเซลลมคาเปน Text หรอคาทจะชดซายใหเองเมอพมพลงไป เชน

'123 ถอวาเปน Text

• IsNumber ตรวจสอบเซลลมคาเปน Number หรอคาทจะชดขวาใหเองเมอพมพลงไป

เชน 10/4/2010 จะชดขวาเพราะถอวาเปน Number

การใชสตร IF ในการเปลยนเสนทางการสงคา

ตามปกตสตรทสรางลงไปในเซลลจะทาหนาทคานวณหรอรบคาทลงคมาจากเซลลตนทาง สวน

การสงคาจากเซลลตนทางไปยงเซลลปลายทางโดยไมตองสรางสตรลงไปในเซลลนนไม

สามารถทาไดโดยวธปกตทวไป แตตองเขยนรหส VBA เขามาชวย

ตวอยาง กาหนดใหสงคาจากเซลล Source ไปยงเซลล Target1 หรอ Target2 ตามเงอนไข

ตอไปน

• หาก Source มคานอยกวา 0 เชนมคาเปนเลข -111 ใหสงคา -111 ไปยงเซลล

Target1

• หาก Source มคามากกวาหรอเทากบ 0 เชนมคาเปนเลข 222 ใหสงคา 222 ไปยง

เซลล Target2

เรมตนจากใหตงชอ Source, Target1, Target2 ใหกบเซลล C2, C5 ,C6 ตามลาดบและตงชอ

Target เปน Formula Name มคาเปนสตร

=IF( Source<0, Target1, Target2)

จากนนใหสรางชดคาสงนลงไปใน Visual Basic Editor

Sub SendData()

103 

 

Copyright of www.ExcelExpertTraining.com 

MyVar = [Source]

[Target] = MyVar

End Sub

1. ชดคาสงนจะรบคาทเกบไวในเซลลทตงชอไววา Source ไปเกบไวทตวแปรทมช อวา

MyVar

2. จากนนคาทเกบไวใน MyVar จะถกสงตอไปยง Formula Name ทตงชอไววา Target

3. เนองจาก Target เปนสตร =IF( Source<0, Target1, Target2) จงทาหนาท

ตรวจสอบคาทรบมาจาก Source กอนแลวจงเลอกสงคาไปยงเซลลทตงชอวา Target1

หรอ Target2 ตามเงอนไขทกาหนดไวขางตนตอไป

104 

 

Copyright of www.ExcelExpertTraining.com 

หลบรอนหนสตร IF ไปหาทางออกอน

สตร IF เปนสตรทมความยดหยนอยางมาก เราสามารถใชทงตวเลข ตวอกษร สตรอน หรอ

ตาแหนงอางองเพอใชในการกาหนดเงอนไข และสามารถใชเงอนไขเปรยบเทยบคาไดทง

เทากบ มากกวา นอยกวา หรอไมเทากบ ซงใน Excel ตงแตรน 2007 เปนตนมาไดปรบปรงให

สามารถนาสตรมาซอนเขาไปไดถง 64 สตร ทาใหใชสตร IF ไดกวางขวางกวา Excel 2003

หรอรนเกากอนนนทซอนสตรไดอกเพยง 7 สตรเทานน

ไมวาจะใชสตร IF ใหเตมทตามความสามารถของ Excel รนเกาหรอรนใหม ถาเขยนสตร IF

ซอนกนจนกลายเปนสตรยาวเหยยดตามสตรในเซลล D9 ตอไปน คณคดวาอยากจะใชสตร IF

ตอไปอกหรอ

=IF(F9>C9,1,IF(SUM(F9:G9)>C9,2,IF(SUM(F9:H9)>C9,3,IF(SUM(F9:I9)>C9,4,IF(SU

M(F9:J9)>C9,5,IF(SUM(F9:K9)>C9,6,IF(SUM(F9:L9)>C9,7,0)))))))

+IF(SUM(F9:L9)>C9,0,IF(SUM(F9:M9)>C9,8,IF(SUM(F9:N9)>C9,9,IF(SUM(F9:O9)>

C9,10,IF(SUM(F9:P9)>C9,11,IF(SUM(F9:Q9)>C9,12,IF(SUM(F9:R9)>C9,13,0)))))))

+IF(SUM(F9:R9)>C9,0,IF(SUM(F9:S9)>C9,14,IF(SUM(F9:T9)>C9,15,IF(SUM(F9:U9)

>C9,16,IF(SUM(F9:V9)>C9,17,IF(SUM(F9:W9)>C9,18,IF(SUM(F9:X9)>C9,19,0)))))

))

+IF(SUM(F9:X9)>C9,0,IF(SUM(F9:Y9)>C9,20,IF(SUM(F9:Z9)>C9,21,IF(SUM(F9:AA9

)>C9,22,IF(SUM(F9:AB9)>C9,23,IF(SUM(F9:AC9)>C9,24,IF(SUM(F9:AD9)>C9,25,0)

))))))

105 

 

Copyright of www.ExcelExpertTraining.com 

+IF(SUM(F9:AD9)>C9,0,IF(SUM(F9:AE9)>C9,26,IF(SUM(F9:AF9)>C9,27,IF(SUM(F9:

AG9)>C9,28,IF(SUM(F9:AH9)>C9,29,IF(SUM(F9:AI9)>C9,30,IF(SUM(F9:AJ9)>C9,31

,0)))))))

สตรขางตนเปนสตรคานวณหาวนทใดในแตละเดอนซงสนคาทเกบไวใน Stock จะเรมไม

เพยงพอตอการเบกใช โดยตองนาสตร IF มาซอนกนเพอตรวจสอบยอดเบกใชสะสมตงแตวน

แรกไปจนถงสนเดอน เรมจากยอดเบกวนแรกในเซลล F9 กลายเปนยอดเบกสะสม 2 วนจาก

เซลล F9:G9 หรอยอดเบกสะสม 3 วนจากเซลล F9:H9 เรอยไปจนถง F9:AJ9 ซงเปนยอดเบก

ใชสะสมถง 31 ครงตามจานวนวนในแตละเดอนมาเทยบกบปรมาณ Stock ในเซลล C9

ถาใช Excel 2003 หรอรนกอนนน ตองแยกสตรทซอนกนชดละ 7 วน โดยกาหนดเงอนไขในแต

ละชดวา หากไมเปนจรงใหคนคาเทากบ 0 โปรดสงเกตวาในวงเลบของ IF ทซอนกนแตละชด

นนจะลงทายดวย ,0))))))) แลวจงนาสตร IF ทซอนกนมาบวกเขาดวยกน

โจทยเดยวกนน หากใช Excel 2007 เปนตนมา เราสามารถซอน IF ลงไปในวงเลบของสตร IF

รวมกนไดสงสดถง 64 สตรไดเลย ทาใหสตรสนลงบางเหลอสตรตามน

=IF(F9>C9,1,IF(SUM(F9:G9)>C9,2,IF(SUM(F9:H9)>C9,3,IF(SUM(F9:I9)>C9,4,IF(SU

M(F9:J9)>C9,5,IF(SUM(F9:K9)>C9,6,IF(SUM(F9:L9)>C9,7,IF(SUM(F9:M9)>C9,8,IF(

SUM(F9:N9)>C9,9,IF(SUM(F9:O9)>C9,10,IF(SUM(F9:P9)>C9,11,IF(SUM(F9:Q9)>C9

,12,IF(SUM(F9:R9)>C9,13,IF(SUM(F9:S9)>C9,14,IF(SUM(F9:T9)>C9,15,IF(SUM(F9:

U9)>C9,16,IF(SUM(F9:V9)>C9,17,IF(SUM(F9:W9)>C9,18,IF(SUM(F9:X9)>C9,19,IF(

SUM(F9:Y9)>C9,20,IF(SUM(F9:Z9)>C9,21,IF(SUM(F9:AA9)>C9,22,IF(SUM(F9:AB9)

>C9,23,IF(SUM(F9:AC9)>C9,24,IF(SUM(F9:AD9)>C9,25,IF(SUM(F9:AE9)>C9,26,IF(

SUM(F9:AF9)>C9,27,IF(SUM(F9:AG9)>C9,28,IF(SUM(F9:AH9)>C9,29,IF(SUM(F9:AI

9)>C9,30,IF(SUM(F9:AJ9)>C9,31,0)))))))))))))))))))))))))))))))

แมสตร IF สามารถคานวณหาคาตอบไดตามตองการ แตจากโครงสรางยาวเหยยดนอกจากจะ

ทาใหแฟมมขนาดใหญขนแลว ยงเพมความเสยงในการตดตามแกไขหรอตรวจสอบอกดวย

ดงนนแทนทจะใชสตร IF เราสามารถใชสตรตอไปนแทน

=(F9<=C9)+(SUM(F9:G9)<=C9)+(SUM(F9:H9)<=C9)+(SUM(F9:I9)<=C9)+(SUM(F

9:J9)<=C9)+(SUM(F9:K9)<=C9)+(SUM(F9:L9)<=C9)+(SUM(F9:M9)<=C9)+(SUM(F

9:N9)<=C9)+(SUM(F9:O9)<=C9)+(SUM(F9:P9)<=C9)+(SUM(F9:Q9)<=C9)+(SUM(

106 

 

Copyright of www.ExcelExpertTraining.com 

F9:R9)<=C9)+(SUM(F9:S9)<=C9)+(SUM(F9:T9)<=C9)+(SUM(F9:U9)<=C9)+(SUM

(F9:V9)<=C9)+(SUM(F9:W9)<=C9)+(SUM(F9:X9)<=C9)+(SUM(F9:Y9)<=C9)+(SU

M(F9:Z9)<=C9)+(SUM(F9:AA9)<=C9)+(SUM(F9:AB9)<=C9)+(SUM(F9:AC9)<=C9)

+(SUM(F9:AD9)<=C9)+(SUM(F9:AE9)<=C9)+(SUM(F9:AF9)<=C9)+(SUM(F9:AG9)

<=C9)+(SUM(F9:AH9)<=C9)+(SUM(F9:AI9)<=C9)+(SUM(F9:AJ9)<=C9)+1

ถายงยาวเกนไปอก กตองหนมาใชสตร Array กนตามน

{=SUM((SUBTOTAL(9,INDIRECT(ADDRESS(ROW(F9),COLUMN(F9))&":"&ADDRESS(

ROW(F9),ROW(INDIRECT(COLUMN(F9)&":"&COLUMN(AJ9))))))<=C9)*1)+1}

หนสตร IF ไปใชสตร Choose หรอ Index

Choose เปนสตรซงทาหนาทเลอกคาทใสไวในวงเลบของตวสตร Choose เองตามเลขลาดบท

เรากาหนด โดยใชเลขลาดบตงแตเลข 1 - 254 (Excel 2003 ตองใชเลข 1 - 29) ตาม

โครงสรางสตร ดงน

=CHOOSE(เลขลาดบ, คาท1, คาท2, .... คาท 254)

สตร Choose กบสตร IF มความเหมอนกนตรงท 2 สตรนเหมาะกบการหาคาคาตอบจากคาท

กระจายตวโดยไมจาเปนตองอยในตารางทเปนพนทตอเนองกนไป เพยงแตสตร Choose ตอง

ใชตวเลขลาดบเปนเลขจานวนเตมตงแตเลข 1 - 254 เปนเงอนไขในการเลอกคาตอบ สวนสตร

IF สามารถรบเงอนไขเปรยบเทยบไดทงตวเลขและตวอกษรและไมจากดวาตองใชเงอนไขกรณ

เทากนเพยงอยางเดยวเชนทสตร Choose กาหนดไว

สมมตวาสตร IF ทใชอยเปนสตรตามน

=IF(E9="A",C2,IF(E9="B",C5,IF(E9="C",C8,IF(E9="D",C11,IF(E9="E",C14,IF(

E9="F",C17,IF(E9="G",F2,IF(E9="H",F17,IF(E9="I",I2,IF(E9="J",I5,IF(E9="K

",I8,IF(E9="L",I11,IF(E9="M",I14,I17)))))))))))))

สตรขางตนใชคาในเซลล E9 เปนเงอนไขในการเปรยบเทยบกบตวอกษร A - M เชน ถาเซลล

E9 มคาเปนตวอกษร A จะคนคาเปนคาจากเซลล C2 แตถาเซลล E9 มคาเปนตวอกษร B จะคน

คาเปนคาจากเซลล C5 เปนตน

107 

 

Copyright of www.ExcelExpertTraining.com 

เนองจากเงอนไขทใชในสตร IF ใชเทยบกบตวอกษร จงไมมทางทจะนาสตร Choose มาใช

แทน แตหากเราสามารถเปลยนเงอนไขจากตวอกษรทใชเดม หนมาใชเปรยบเทยบกบตวเลข

แทน กลายเปนสตรตามน

=IF(E9=1,C2,IF(E9=2,C5,IF(E9=3,C8,IF(E9=4,C11,IF(E9=5,C14,IF(E9=6,C1

7,IF(E9=7,F2,IF(E9=8,F17,IF(E9=9,I2,IF(E9=10,I5,IF(E9=11,I8,IF(E9=12,I

11,IF(E9=13,I14,I17)))))))))))))

สตร IF ทแกไขใหมน ใชคาในเซลล E9 เปนเงอนไขในการเปรยบเทยบกบตวเลข 1 - 13 เชน

ถาเซลล E9 มคาเปนตวเลข 1 จะคนคาเปนคาจากเซลล C2 แตถาเซลล E9 มคาเปนตวเลข 2

จะคนคาเปนคาจากเซลล C5 เปนตน

เนองจากสตร IF ใชเงอนไขเทยบกบตวเลข และเปนตวเลขจานวนเตมตงแตเลข 1 - 13 ซงไม

เกน 254 และเปนเงอนไขทใชการตรวจสอบวาเทากบหรอไมเทานน (ไมไดตรวจสอบวา

มากกวานอยกวา) จงสามารถใชสตร Choose ทสนกวาแทนไดดวยตามน

=CHOOSE(E9, C2,C5,C8,C11,C14,C17,F2,F17,I2,I5,I8,I11,I14,I17)

ถาเซลล E9 มคาเปนตวเลข 1 จะคนคาเปนคาจากเซลล C2 แตถาเซลล E9 มคาเปนตวเลข 2

จะคนคาเปนคาจากเซลล C5 แตถา E9 มคาเปนตวเลข 14 จะคนคาเปนคาจากเซลล I17

สตร Choose สามารถใชเลอกคาทกระจาย ซงการกระจายตวนเองทจะกลายเปนหนามยอกอก

หากมการกระจายตวกนมากเกนไปเชนสตรตอไปน

=CHOOSE(E9, C2,C5,C8,C11,C14,C17,F2,F17,I2,I5,I8,

I11,I14,I17,D3,D6,D9,D12,D15,D18,G3,G18,J3,J6,J9,

J12,J15,J18,E4,E7,E10,E13,E16,E19,H4,H19,K4,K7,

K10,K13,K16,K19)

เพยงเหนสตรแวบเดยวกรสกเหนอยแลวใชไหม แมวาสตร Choose จะสามารถใชเลอกคาท

กระจายตวกนอยไดสงสดถง 254 คากตาม หากเราเผลอจดลาดบคาคาตอบสลบทกนเพยงคา

เดยว จะสงผลทาใหสตร Choose คนคาคาตอบผดพลาดทนท

108 

 

Copyright of www.ExcelExpertTraining.com 

ถาคาทตองการเลอกนนถกนามาจดลาดบใหมไวในตารางใหเปนพนทซ งตอเนองกนไป เรา

สามารถนาสตร Index มาใชแทน Choose เพราะสตร Index มโครงสรางสตรตามน

=INDEX(พนทตารางทเปน Single Row, เลขลาดบ)

หรอ

=INDEX(พนทตารางทเปน Single Column, เลขลาดบ)

Single Row หรอ Single Column หมายถงพนทตารางทมความสงหรอความกวางเปนเซลล

เดยวตามแนวนอนหรอแนวตง

ดงนนแทนทจะใชสตร IF หรอสตร Choose ตามตวอยางทกลาวไปแลวนน หากเราสามารถจด

โครงสรางตารางใหมใหอยในแนวนอนหรอแนวตง และใชตวเลขจานวนเตมตงแตเลข 1 เปนตน

ไปเปนตวชตาแหนง กควรหนมาใชสตร Index แทนดกวา กลายเปนสตรตามน

=INDEX(A1:A10000, E9)

ถาเซลล E9 มคาเปนตวเลข 1 จะคนคาเปนคาจากเซลล A1 แตถาเซลล E9 มคาเปนตวเลข 2

จะคนคาเปนคาจากเซลล A2 แตถา E9 มคาเปนตวเลข 10000 จะคนคาเปนคาจากเซลล

A10000 ซงการนาคาทตองการมาจดไวในพนทเซลล A1:A10000 ทาใหงายในการคนหา

ตาแหนงเซลลเพอบนทกหรอเปลยนแปลงคาใหมในอนาคต

การเลอกใชสตรไดอยางเหมาะสม สตรนนตองสามารถรองรบกบเงอนไขทอาจเปลยนแปลงได

ในอนาคตโดยเราไมตองยอนกลบมาแกไขสตรเกาทเคยสรางไวอกเลย ดงนนจะเลอกใชสตร IF

หรอ Choose หรอ Index กตองคดพจารณาใหเหมาะสมดวยวาโครงสรางตารางและคาทใชเปน

เงอนไขนนเปนอยางไร

แทนทจะปลอยใหบนทกคาอยางตามใจหรอไมไดใสใจวาจะใชตาแหนงเซลลทใดในการบนทก

คา หากรจกออกแบบตารางใหเหมาะสมจะชวยใหเราสามารถเลอกใชสตรไดยดหยนมากขน

109 

 

Copyright of www.ExcelExpertTraining.com 

หนสตร IF ไปใชสตร VLookup

VLookup ยอมาจากคาวา Vertical Lookup ทาหนาทตรงตามคาแปลทหมายถงการมองตาม

แนวตง โดยเรมจากใชคาทตองการคนหา นาไปเปรยบเทยบกบคาทเกบไวในตารางจาก

Column ซายสดวา คาทใชคนหานนอยในแนวของคาใดใน Column ซายสดนน แลวคนคาเปน

คาตอบจาก Column ตามเลขทเราตองการ โดย VLookup มโครงสรางสตร 2 แบบ

โครงสรางสตรแบบ Approaching Match

เหมาะกบตารางขอมลท Column ซายสดเปนตวเลขตอเนองทเรยงคาจากนอยไปมาก

โครงสรางนทางานตามเงอนไขแบบนอยกวาหรอเทากบ

=VLOOKUP(คาทใชหา, ตารางทเกบคา, เลขท Column ของคาตอบ)

โครงสรางสตรแบบ Exact Match

เหมาะกบตารางขอมลท Column ซายสดเปนรหส ซงไมจาเปนตองเรยงคา โครงสรางน

ทางานแบบเงอนไขเทากบ

=VLOOKUP(คาทใชหา, ตารางทเกบคา, เลขท Column ของคาตอบ,

FALSE หรอ 0)

ในกรณทใชสตร IF หาคาตอบเปนเกรด A B หรอ C โดยใชสตร =IF( E3>=B3, C3,

IF(E3>=B4,C4,C5) )

หากตองการเปลยนมาใชสตร VLookup ตองเรยงคะแนนในตารางจากนอยไปมาก ตามรป

ตอไปนแทน

110 

 

Copyright of www.ExcelExpertTraining.com 

เซลล F3 สรางสตร =VLOOKUP(E3,B3:C5,2) ซงเปนสตร VLookup แบบ Approaching

Match เนองจากคาทใชหาเปนตวเลข และตวเลขนสามารถเปนตวเลขทตอเนองกนไป และคน

คาไดคาตอบเปนเกรด B โดยมลาดบการทางานของสตร ดงน

1. VLookup นาคะแนนทสอบได 75 คะแนน ไปตรวจสอบกบตารางขอมล B3:C5

2. ใน Column ซายสดทเรยงเลขจากนอยไปมากนน พบวาเลขคะแนน 70 เปนเลขทมาก

ทสดทยงนอยกวาหรอเทากบเลข 75 ซงเปนคะแนนทสอบได แสดงวาคาตอบทตองการ

อยในแนวเดยวกบเลขคะแนน 70 แนนอน

3. เลข 2 ทใสลงไปในวงเลบของสตร VLookup เปนตวเลขแทน Column ทสองในพนท

ตาราง B3:C5 ซงเปน Column เรองเกรดทเปนคาตอบ จงคนคาออกมาเปนเกรด B

หากเลอกใชสตรแบบ Exact Match =VLOOKUP(E3,B3:C5,2,0) ซงเพมเลข 0 ตอทายลงไป

ในวงเลบ จะไดคาตอบเปน #N/A เนองจาก Column ซายสดทเปนตวเลขคะแนน ไมมเลข 75

แสดงไว จงคนคาคาตอบออกมาวา Not Available แสดงวาหาคาทตองการไมพบ

แมการใชสตร VLookup จะชวยใหไดสตรทสนลงกตาม แตจะทาให Excel คานวณชากวาใน

กรณทใชสตร IF หากตารางทใชเกบขอมลมขนาดใหญขน กจะสงผลใหสตร VLookup คานวณ

ชาลง เราจงตองพงระวงไวเสมอวาทกอยางมทงขอดขอเสย ไดอยางกจาเปนตองเสยอยาง

เชนกน

111 

 

Copyright of www.ExcelExpertTraining.com 

หนสตร IF ไปใชสตร Max Min หรอแคใชวงเลบชวย

ในบรรดาเงอนไขทใชกนมากทสดในชวตประจาวนเหนจะหนไมพนเงอนไขเกยวกบการตดสนใจ

ในเรองหามเกนกวาหรอหามตากวา ยกตวอยางทใกลตว เชน เกณฑการคานวณภาษเงนได

บคคลธรรมดา มหลกคานวณภาษจากเงนไดวา เงนไดชวงทไมเกนกวายอดนนยอดนใหใชอตรา

ภาษเทานนเทาน หรอภาษเงนไดของบรษทตองคานวณจากยอดกาไร แตถาขาดทนกไม

จาเปนตองจายภาษ เทยบไดกบเงอนไขทหามคดภาษถามตวเลขตากวา 0 นนเอง

ถามตวเลขใดๆทอาจเปนไปไดทงคาบวกลบและศนย แลวกาหนดใหใชสตร IF ปรบคานใหเปน

คาใหมทหามตากวา 0 แตถาตวเลขนนมคามากกวา 0 อยแลว กขอใหคงคาเดม จะตองสราง

สตรตามน

=IF(เซลลตวเลข<0, 0, เซลลตวเลข)

หรอ

=IF(เซลลตวเลข>=0, เซลลตวเลข, 0)

แทนทจะใชสตร IF ในเงอนไขทเกยวของกบขอกาหนดหามตากวาหรอหามเกนกวา เรา

สามารถนาสตร Max หรอ Min มาใชแทนโดยใชหลกชวยจา ดงน

• สตร Max หรอ Min นทางานตรงขามกบความเขาใจ

• ปกตสตร Max ทาหนาทหาคาสงสด แตใหใชกบเงอนไขหามตากวา โดยใชสตร

=MAX(ตวเลขตามเกณฑตาสดทเปนไปได, ตวเลขทตองการเทยบ)

• ปกตสตร Min ทาหนาทหาคาตาสด แตใหใชกบเงอนไขหามเกนกวา โดยใชสตร

=MIN(ตวเลขตามเกณฑสงสดทเปนไปได, ตวเลขทตองการเทยบ)

ตามตวอยางขางตนทใชสตร IF ปรบตวเลขไมใหตากวา 0 นน สามารถเปลยนมาใชสตร Max

ตอไปนแทน

=MAX(0, เซลลตวเลข)

สวนในกรณทตองการสรางสตรควบคมตวเลขไมใหเกนเลข 100 สามารถใชสตร IF หรอ Min

ไดตามน

112 

 

Copyright of www.ExcelExpertTraining.com 

=IF(เซลลตวเลข>100, 100, เซลลตวเลข)

หรอ

=IF(เซลลตวเลข<=100, เซลลตวเลข, 100)

หรอ

=MIN(100, เซลลตวเลข)

นอกจากนเรายงสามารถใชวงเลบชวยในการตดสนใจโดยไมจาเปนตองพงพาสตรใดๆ เชน

กรณทตองการเปลยนตวเลขใหไมตากวา 0 ตามตวอยางขางตน ใหใชสตรทใชวงเลบชวย

ตอไปนไดเลย

=(เซลลตวเลข<=0)*0 + (เซลลตวเลข>0)*เซลลตวเลข

การใชวงเลบชวยในการตดสนใจ มหลกการดงน

1. สามารถใชไดเฉพาะเมอผลลพธทตองการเปนตวเลขเทานน เนองจากตองนาตวเลขมา

คานวณตอกนไปเรอยๆ

2. หากมหลายวงเลบ ตองมเงอนไขเดยวในวงเลบหนงเทานนทเปนจรง และเงอนไขใน

วงเลบอนตองเปนเทจทงหมด

3. เงอนไขทใชตรวจสอบนน ถาคนคาเปนเทจ ถอวามคาเทากบเลข 0 แตถาคนคาเปนจรง

ถอวามคาเทากบเลข 1

4. ใหนาเงอนไขมาบวกกนในกรณทกาหนดใหเงอนไขเดยวเทานนเปนจรง หรอนาเงอนไข

มาคณกนในกรณทตองการตรวจสอบวาทกเงอนไขเปนจรงพรอมกน

จากตวอยางขางตนในกรณทหามตากวา 0 เชน เซลลตวเลขมคาเทากบ -5 เมอนามาแทนคาลง

ไปในสตร =(เซลลตวเลข<=0)*0 + (เซลลตวเลข>0)*เซลลตวเลข แลว Excel จะคดทละขน

ตามน

1. แทนคาตวเลขลงไปในสตรเปน =(-5<=0)*0 + (-5>0)*-5

2. วงเลบของ (-5<=0) จะคนคา TRUE หรอเทยบเทากบ 1

3. วงเลบของ (-5>0) จะคนคา FALSE หรอเทยบเทากบ 0

4. จะไดสตร =1*0 + 0*-5

5. จะไดสตร =0 + 0

113 

 

Copyright of www.ExcelExpertTraining.com 

6. ซงปรบคา -5 ออกมาเปน 0

แตถาเซลลตวเลขมคาเทากบ 5 เมอนามาแทนคาลงไปในสตร =(เซลลตวเลข<=0)*0 +

(เซลลตวเลข>0)*เซลลตวเลข แลว Excel จะคดทละขนตามน

1. แทนคาตวเลขลงไปในสตรเปน =(5<=0)*0 + (5>0)*5

2. วงเลบของ (5<=0) จะคนคา FALSE หรอเทยบเทากบ 0

3. วงเลบของ (5>0) จะคนคา TRUE หรอเทยบเทากบ 1

4. จะไดสตร =0*0 + 1*5

5. จะไดสตร =0 + 5

6. ซงปรบคา 5 ออกมาเปน 5 เทากบคาบวกตามคาเดมนนเอง

แมการใชวงเลบชวยในการตดสนใจจะเกดสตรทมความยาวซงดเหมอนไมจาเปนกตาม แต

โครงสรางสตรภายในวงเลบทกวงเลบมความคลายคลงกน จงสามารถตรวจสอบแกไขไดงาย

และยงเปนพนฐานของการคานวณแบบ Array อกดวย

114 

 

Copyright of www.ExcelExpertTraining.com 

หนสตร IF ไปใชคาส ง Format

สมยทผมใช Excel รนแรกๆ Excel ไมไดมคาสงบนเมนใหเลอกใชไดมากมายอยางเชนทกวนน

แตกไดพงสตร IF นแหละชวยในการตรวจสอบคาตางๆ อยางเชนถาตองการตรวจสอบคาท

พมพลงไปวาเปนตวเลขอยางเดยวเทานน กตองใชสตร IF มาผสมกบสตร IsNumber เพอ

ตรวจสอบคาทพมพวา ถาไมใชตวเลข ใหแสดงคาเตอนออกมาวา Input is Wrong ตามสตร

ตอไปน

=IF(ISNUMBER(Cell), "OK", "Input is Wrong")

การใชสตรดงกลาวจาเปนตองสรางสตรลงไปในอกเซลลหนงเพอเปนเซลลทแสดงคาเตอน

ออกมาใหเหน นอกจากสตร IF กมแตรปแบบจากคาสง Format เปนอกเครองมอหนงทกาหนด

ลงไปในเซลล เชน ถาหากตองการเตอนวา Input is Wrong ในเซลลทควบคมวาตองเปน

ตวเลขเทานน กสามารถกาหนด Format ตามน

0;-0;0;"Input is Wrong"

แม Format จะแสดงคาวา Input is Wrong ใหเหนในเซลลทบนทกคาลงไปกตาม แตกถอวา

ไดเกดคาทผดพลาดขนมาแลว ตางจาก Excel รนใหมทมคาสงบนเมน Data Validation กบ

Conditional Formatting ใหเลอกใช ซงสามารถแสดงคาเตอนหรอเปลยนสใหเหนชดในเซลล

นนๆเลย

115 

 

Copyright of www.ExcelExpertTraining.com 

วธใช Data Validation

สมมตวาตองการพมพชอเดอนลงไปในเซลล ซงทผานมาเคยพมพผดซาแลวซาอก จงตองการ

สงให Excel แสดงคาเตอนขนมาเมอพมพชอเดอนผด

1. ตงชอ Range Name ใหกบเซลลทเกบชอเดอนในเซลล B2:B7 ใหมชอวา Choice

2. เลอกเซลล D2 ทเปนเซลลซงตองการพมพชอเดอนทตองการแลวสง Data > Data

Validation (Excel 2003 สง Data > Validation)

3. ในชอง Allow คลกเลอก List (ในชอง Allow นเองทเราสามารถเลอกประเภทของ

ขอมลทยอมรบไดอกหลายอยางตามแตจะกาหนด หรอเลอก Allow แบบ Custom เพอ

ใชสตรตรวจสอบการบนทกคา)

4. ใหคลกลงไปในชอง Source แลวกดป ม F3 เพอเปดรายชอ Range Name ทมอยข นมา

5. ใหเลอนหาชอ Choice เพอเลอกแลวกดป ม OK 2 ครง

6. จะพบวาเซลล D2 มป มลกศรแสดงขนมาทางขอบดานขวา และเมอคลกป มลกศรนกจะม

รายชอเดอนแสดงใหคลกเลอกกได หรอ

หากทดลองพมพชอเดอนลงไปในเซลล

D2 เอง ถาเราพมพชอเดอนผด พอกด

ป ม Enter เพอรบชอเดอนลงไป จะมคา

เตอนแสดงขนมาใหเหนวา The value you entered is not valid.

116 

 

Copyright of www.ExcelExpertTraining.com 

วธใช Conditional Formatting

สมมตวาพอคลกเลอกชอเดอน May ในเซลล D2 แลว ตองการเปลยนสเซลลในตารางทตงชอ

วา Choice ในเซลลทมคาวา May ตรงตามทเลอก ใหทาดงน

1. เลอกพนทตารางทตงชอวา Choice

2. สง Home > Conditional Formatting > New Rules > Use a formula to

determine which cells to format (Excel 2003 สง Format > Conditional

Formatting)

3. สรางสตร =B2=$D$2 ลงไปในชอง Edit the Rule Description

4. กดป ม Format แลวกาหนดรปแบบทแตกตางไปจากเดมตามตองการ

5. Data Validation กบ Conditional Formatting ถอเปนเครองมอซงควรนามาใชพรอม

กนเสมอ โดย Validation จะทาหนาทเสมอนยามเฝาประตตรวจสอบแขกทจะยอมให

ผานประตเขามา แตถามแขกเดนผานประตเขามาแลวกตองใช Conditional

Formatting เปลยนสแสดงตวแขกผนนขนมา

117 

 

Copyright of www.ExcelExpertTraining.com 

การใช Validation และ Conditional Formatting ควบคมตาแหนงของ

เซลลทจะเปดใหพมพคา

จากรปตอไปน หากตองการควบคมใหเปดบนทกคาไดตามตาแหนงตวชบนหวตารางทเปน Y

และตามตาแหนงขางตารางทเปน B และใหเปลยนสบอกตาแหนงอกดวย จะพบวาเซลล D4

เปลยนสและเปนเซลลเดยวเทานนทจะเปดใหพมพคาใหมลงไปได

1. คลกเลอกพนทเซลล C3:E4 ซงเปนพนทในตาราง

2. จากนนใชคาสง Conditional Formatting ในทานองเดยวกบตวอยางขางตน ตางกน

เพยงใชสตร =C$2&$B3=$C$6&$C$7

3. ตามดวยคาสง Data Validation โดยใช Allow แบบ Custom โดยกาหนดใหใชสตร

=C$2&$B3=$C$6&$C$7 ซงเปนสตรเดยวกนกนทใชกบ Conditional

Formatting นนเอง (หรอจะใชสตร =And(C$2=$C$6,$B3=$C$7)

118 

 

Copyright of www.ExcelExpertTraining.com 

สตร Array

เรองสตร Array เปนเรองทผมเคยเขยนมาแลวหลายครง เคยอธบายมาแลวหลายรอบ ทกครงท

จดอบรมกพดเรองสตร Array อยเสมอ คนทฟงเรองสตร Array แลวเขาใจกจะเขาใจในทนท

แลวกตองมานงเบอนงทนฟงผมอธบายเรองสตร Array นซาแลวซาอก เพราะคนสวนใหญเขา

ฟงกทกทกไมเขาใจเรองสตร Array นสกท ไมใชวาฟงแบบเขาหซายแลวทะลหขวาหรอก แต

แยยงกวานนอก พออธบายเรองสตร Array ทไร ปรากฏวาเสยงพดอธบายของผมมนเดนทางไป

ไมถงหคนฟงเสยดวยซา เพราะคนฟงพอฟงแลวไมรเรองกจะมอาการหนงตาหนกขนเรอยๆแลว

หลบหหลบตาไมไดฟงทกครงไป

"ถาคณใชสตร Array เปน จะแกปญหาอะไรไดบาง" ผมคดวาตองเรมอธบายใหพวกเราเหน

คณประโยชนของสตร Array กนกอน ถาเหนประโยชนของสตร Array วาจะชวยแกปญหาของ

ตวเองไดมากมายขนาดไหน จะไดเกดความอยากใชแลวจะไดมความตงหนาตงตาตงใจมา

เรยนรสตร Array

ประโยชนของสตร Array

สตร Array จะชวยทาใหคณสามารถทาสงทไมนกไมฝนวา Excel จะทาไดมากอน ไดแก

1. ทาใหแฟมมขนาดเลกลง เนองจากแทนทจะตองสรางตารางหลายๆตารางเพอแยก

คานวณทละขน เราสามารถสรางสตร Array ลงไปในเซลลเพยงเซลลเดยวกไดคาตอบ

ทตองการแลว

2. ทาใหเกบขอมลไวในตารางเดยวชทเดยว โดยไมตองแยกตารางฐานขอมลออกเปน

หลายตารางหรอหลายชทเพยงเพอตองการหายอดรวมแยกประเภทตามขอมลทจดแยก

ไว

3. ทาให Excel ทางานแบบคอมพวเตอรไดอยางแทจรง พอกรอกคาลงไปกจะไดคาตอบท

ตองการทนท ไมตองเสยแรงและเสยเวลาคลกเลอกใชคาสงบนเมน เชน ไมตองสง

Sort ตารางกจดเรยงใหเองแลว หรอไมตองสง AutoFilter กสามารถหายอดรวมแยก

ประเภทไดแลว

4. ทาใหสตรสาเรจรปของ Excel มความสามารถเหนอชนขนกวาเดม สามารถใชสตรใน

เซลลเดยวลดหาคาตอบ

119 

 

Copyright of www.ExcelExpertTraining.com 

ในการอบรมครงหนงมผเขาอบรมคนหนงมทาทไมสนใจเรยนรสตร Array โดยอางวา ทาไมตอง

ใชสตร Array ดวยในเมอ Excel กมสตรและคาสงบนเมนอยแลว ถาอยากไดอะไรกแคคลก

คาสงบนเมน กจะไดคาตอบทตองการแลวมใชหรอ

ผมจงเรยนถามกลบวา แลวมอทใชคลกคาสงบนเมนทวานนนะเปนมอของใคร ถาคณสงแฟมไป

ใหหวหนาทใช Excel ไมเปน หวหนาจะรวธเลอกคลกเมนนนเมนนดวยหรอ เหนทหวหนาตอง

พงพามอของคณไปชวชวตหรอไม แตถาคณสรางสตร Array เปน แฟมนนๆจะทางานตอเอง

อยางอตโนมตโดยไมตองหวงวาใครจะเปนผใชแฟมของคณ

อยางเรองการใช Pivot Table เหมอนกนทหวหนามกชอบใชเปนชวตจตใจแลวผลกดนให

ลกนองใช Pivot Table ตามกนไปทงบรษท โดยหารไมวาถาใช Array เปนกแทบไมจาเปนตอง

ใช Pivot Table เสยดวยซา

ขอเสยของสตร Array

1. ทาใหแฟมคานวณชาลง แตเนองจากการใชสตร Array จะชวยทาใหแฟมมขนาดเลกลง

ซงโดยทวไปยอมสงผลใหแฟมเลกคานวณเรวกวาแฟมใหญ ถาคณออกแบบโครงสราง

ตารางใหเหมาะกบสตร Array ดวย ปญหาเรองนกจะชดเชยกนไป

2. ทาใหแกไขสตรยากขน เพราะคนทวไปมกไมเขาใจเรองสตร Array เปนพนอยแลวและ

ไมทราบวาขนตอนการสรางสตร Array ตองกดป ม Ctrl+Shift+Enter พรอมกนแทนท

จะกดป ม Enter

3. คนทตดนสยชอบสรางสตร Array มกหลงลมมองขามสตรสาเรจรปอนทมอยแลวใน

โปรแกรม Excel ซงสตรสาเรจรปจะใชเวลาคานวณเรวกวาสตร Array

เบองตนของ Array

ขนาดผมใชสตร Array มานานนบสบป สรางสตร Array เพอใชกบงานมาสารพดชนด ตอบ

คาถามเรอง Array ใน Excel Expert Forum ซาแลวซาอกนบเปนพนๆครง แตกยงมสตร Array

อกเยอะทผมเหนแลวตองถอนหายใจ ไมสามารถแกะทไปทมาของลาดบการคานวณทใชใน

สตร Array เหลานน เพราะเปนสตรทคนอนสรางขน ถาคนทสรางสตร เขาไมไดเขยนอธบาย

แนวคดประกอบสตรไวดวย ยอมทาใหผอ นคดถามในใจวา “เขาสรางสตรยากๆยาวๆแบบนข นมา

ไดอยางไรกน” แลวถาเราไดแตลอกเอาสตรของคนอนมาใช กไดแตใช ไมสามารถดดแปลง

120 

 

Copyright of www.ExcelExpertTraining.com 

แกไขสตรทลอกมาเพอปรบใหเขากบเงอนไขในงาน วนหนงเรากจะหนาแตก เมอถกจบไดวา

ไมไดเกงจรง “ออ ลอกสตรเขามานเอง” ดงนนถาจะคดใชสตร Array ตองหาทางสรางสตรเอง

ใหเปน แมสตร Array ทสรางขนเองเปนสตรยาวกวาสตรของคนอนกตาม

สตร Array สตรแรกๆททาใหผมเกดความประทบใจแลวเกดแรงบนดาลใจใหอยากเรยนรเรอง

สตร Array มากขน เปนสตรทใชคานวณหาจานวน Unique Items หรอนบจานวนชอรายการท

ไมซากน

{=SUM(1/CountIF(DataRange,DataRange))}

สมมตวาใน DataRange บนทกชอลกคาไวตามน aa, bb, aa, cc, bb สตรนจะหาคาตอบเปน

เลข 3 ซงหมายถงการนบชอลกคาวามอย 3 คน คอ aa, bb, และ cc แตกวาจะหาทางสรางสตร

ใหทางานไดกตองทราบกอนวาเครองหมายวงเลบปกกา { } ทเหนอยดานหนาสดและดาน

ทายสดของสตรนน ไมใชเครองหมายวงเลบปกกาทพมพเอง แตเกดจากการกดป ม

Ctrl+Shift+Enter พรอมกนและหามมชองวางใน DataRange ดวย

ตอนทผมเหนสตรนกคดไมออกวามนใชหลกการใดในการคานวณ แตพออานคาอธบายทมากบ

สตรจงเขาใจ สตรนเปนการหายอดรวมของคาเฉลยตอตวของแตละรายการใน

DataRange กลาวคอ ถานบจานวนชอแตละชอใน DataRange aa, bb, aa, cc, bb จะพบ

จานวนของการซากนดงน

• ม aa ซากนอย 2 ตว ดงนนคาเฉลยตอตวของ aa แตละตวคอ 1/2

• ม bb ซากนอย 2 ตว ดงนนคาเฉลยตอตวของ bb แตละตวคอ 1/2

• ม cc อย 1 ตว ดงนนคาเฉลยตอตวคอ 1

เมอรวมคาเฉลยตอตวเขาดวยกน จาก DataRange aa, bb, aa, cc, bb

=1/2+1/2+1/2+1+1/2 จะไดคาตอบเปนจานวนของ Unique Items เทากบ 3

จวบจนปจจบนนยงตามหาคนทคดสรางสตรยอดเยยมนข นมาเปนครงแรกไมพบวาเปนใคร ยงด

ทมคาอธบายประกอบสตรนไวดวย

121 

 

Copyright of www.ExcelExpertTraining.com 

อยากเกงสตร Array ตองสรางไปแกะไป

จากคาอธบายทเขยนไวเกยวกบทไปทมาของสตรคานวณหาจานวน Unique Items วา เปนการ

หายอดรวมของคาเฉลยตอตวของแตละรายการใน DataRange ยอมทาใหคนสวนใหญทเพง

รจกสตร Array เปนครงแรกคงยงไมเขาใจลาดบในการคานวณทใชในสตรนชดเจนนก ถา

อยากจะเขาใจอยางถองแทวาสตร Array ทางานไดอยางไร ตองเรยนรจากการปฏบตเทานน

โดยใชวธทดลองสรางสตรไปแกะไปซงมอย 2 วธ

1. สรางสตร Array ลงไปในเซลลเดยวแลวแกะคาในแตละสวนของสตร โดยการกดป ม F9

เพอดในชอง Formula Bar หรอ

2. สรางสตร Array ลงไปในตารางพรอมกนทเดยวหลายๆเซลลหรอใชตารางแยกคานวณ

ทละขน เพอดผลลพธกระจายออกมาใหเหนในตาราง

โดยทวไปจะใชวธแรกสาหรบแกะสตรทไมซบซอนหรอไมยาวนก พอแกะสตรโดยการกดป ม F9

แลวตองอยาลมกดป ม Esc เพอยอนหลงกลบคนสสภาพเดมกอนแกะ (ถาแกะสตรแลวเผลอกด

Enter ลงไปจะทาลายสตรใหกลายเปนคาคงทแทน)

วธทสอง เหมาะสาหรบคนทเพงเรยนรเรอง Array หรอใชแกะสตรยากๆยาวๆ หรอใชทดลอง

สรางสตร Array ขนใหมตงแตแรก เพราะวธนจะเหนผลลพธแตละขนของการคานวณแสดง

กระจายใหเหนในเซลลแตละเซลลในตาราง จากนนพอซอนสตรตอๆกนไปจนไดคาตอบท

ตองการแลวจงนาสตรแตละขนมาซอนตอกนเปนสตรเดยวเพอนาไปใชงานตอไป

วธแกะสตร Array วธท 1

DataRange คอ ตารางชวง B3:B7

122 

 

Copyright of www.ExcelExpertTraining.com 

เซลล D3 มสตร Array {=SUM(1/COUNTIF(DataRange,DataRange))} โดย

เครองหมายวงเลบปกกาเกดจากการกดป ม Ctrl+Shift+Enter พรอมกน (ไมไดพมพ {} เอง)

1. เรมจากคลกลงไปในชอง Formula Bar คลกลากทบสวนของสตร

COUNTIF(DataRange,DataRange)

2. กดป ม F9 จะพบวาสตร CountIF นบจานวนซาของคาแตละตว ทาใหสตรทงหมด

เปลยนเปนสตร =SUM(1/{2;2;2;1;2})

3. ตวเลข {2;2;2;1;2} หมายถง จานวนซาของแตละคา กลาวคอ aa ม 2 คา, bb ม 2 คา

, aa ม 2 คา, cc ม 1 คา, และ bb ม 2 คา

4. คลกลากทบสวนของสตร 1/{2;2;2;1;2}

5. กดป ม F9 จะพบวาสตร 1/{2;2;2;1;2} หาคาเฉลยจากจานวนซาของคาแตละตว ทาให

สตรทงหมดเปลยนเปนสตร =SUM({0.5;0.5;0.5;1;0.5})

6. ตวเลข {0.5;0.5;0.5;1;0.5} เกดจากสวนของหารหาคาเฉลยโดย 1/2 ทาใหเกดเลข

0.5 และ 1/1 ทาใหเกดเลข 1

7. คลกลากทบสตร SUM({0.5;0.5;0.5;1;0.5}) แลวกดป ม F9 จะไดคาตอบเปนสตร =3

8. กดป ม Esc เพอทาใหสตรแปลงกลบไปเปนสตรแรกเรมตามเดม

หมายเหต การคลกแลวลากทบสวนของสตรทแสดงในชอง Formula Bar น ตองคลกแลวลาก

ทบสวนของสตรทครบและพรอมจะคานวณได เชน COUNTIF(DataRange,DataRange) แต

ถาลากทบขาดหรอเกน เชน ลากทบ /COUNTIF(DataRange,DataRange) ซงมเครองหมาย

หารเกนเขามาดวย จะทาใหเมอกดป ม F9 จะพบวาไมสามารถแกะสตรสวนนนได

วธแกะสตร Array วธท 2

วธนใชตารางเปนตวชวยหาผลลพธของการคานวณทละขนแสดงใหเหนไดทนทวา หลงจาก

คานวณขนแรกเสรจแลว สงผลไปคานวณตอในการคานวณขนถดไปอยางไรและเกดผลลพธ

อยางไร ซงพอคานวณตอกนไปจนเกดผลลพธไดถกตองตามทตองการแลว จงนาสตรแตละขน

มาซอนกนเปนสตร Array เพยงสตรเดยว

123 

 

Copyright of www.ExcelExpertTraining.com 

ใหเรมจากแยกสตร =SUM(1/COUNTIF(DataRange,DataRange)) ออกเปนสวนๆตามลาดบ

การคานวณ โดยไลจากสตรทอยภายในวงเลบในสดออกมา

1. Step1 เซลล D3 สรางสตร =COUNTIF(DataRange,B3) แลว copy ลงมาตลอดแนว

จนถง เซลล D7

2. ตวเลขทไดจากเซลล D3:D7 เปนตวเลขการนบวาขอมลแตละตวมบนทกไวซากนกครง

ภายใน DataRange

3. Step2 เซลล E3 สรางสตร =1/D3 แลว copy ลงมาตลอดแนวจนถง เซลล E7

4. ตวเลขทไดจากเซลล E3:E7 เปนตวเลขคาเฉลยตอตวจากการนบวาขอมลแตละตวม

บนทกไวซากนกครงภายใน DataRange

5. Step3 เซลล F3 สรางสตร =SUM(E3:E7) เพอหายอดรวมของคาเฉลย ไดคาตอบเปน

จานวนของ Unique Items

หมายเหต ใน Step1 และ Step2 แทนทจะสรางสตรลงไปในเซลล D3 และ E3 เพยงเซลล

เดยว ใหทดลองสรางสตรคานวณแบบ Array ลงไปในตารางหลายเซลลพรอมกนแทนกได

• Step1 ใหเลอกเซลล D3:D7 แลวพมพสตร =COUNTIF(DataRange,DataRange)

แลวกดป ม Ctrl+Shift+Enter เพอสรางสตรนลงไปพรอมกนทเดยว จะพบวาไดคาตอบ

เปนการนบคาซาเชนเดยวกน เนองจากสตร CountIF จะใชแตละคาใน DataRange

ตรวจสอบจานวนการบนทกซาจากพนท DataRange ทงหมดเชนเดยวกบสตรทนบแต

ละตว

• Step2 ใหเลอกเซลล E3:E7 แลวพมพสตร =1/D3:D7 แลวกดป ม Ctrl+Shift+Enter

เพอสรางสตรนลงไปพรอมกนทเดยว จะพบวาไดคาตอบเปนคาเฉลยเชนเดยวกน

124 

 

Copyright of www.ExcelExpertTraining.com 

Array คออะไร

บทความนยกความหมายของ Array มาไวตอนหลง เพอใหเหนตวอยางการใชสตร Array ไว

กอนบาง ทาใหไดเหนวา เรานาสตร Array ไปใชงานกนอยางไร แลวมนคานวณหาอะไร พอได

ผานการลองทากบมอมาแลว คงพอเดากนไดบางวา Array คออะไร

Array คอ คาตงแตสองคาขนไป แทนทจะใชเซลลเดยวรบคาเดยวตามวธปกตทวไป เรา

สามารถใชเซลลเดยวรบคาหลายคาลงไปกได แทนทจะใชพนทตารางของจรงนบรอยนบพน

เซลลเพอกรอกคาหรอสรางสตรใหคานวณตอๆกนไปทละขน ดวยการใช Array จะชวยใหเรา

สามารถใชเซลลเพยงเซลลเดยวแทนพนทตารางขนาดใหญ กลายเปนเซลลททาหนาทแทน

ตารางของจรงซงเรยกวาเปนตารางในอดมคตกได

คาตงแตสองคาขนไปจะเรยงตามแนวนอน หรอแนวตง หรอเรยงตอกนไปเปนพนทตารางทม

ความสงความกวางหลาย row หลาย column กได โดย Excel กาหนดใหใชเครองหมายในการ

แบงลาดบของคา ดงน

• ถาเปน Array ในแนวนอน ใหใชเครองหมาย comma , คนระหวางคาแตละคา เชน

11,22,33

• ถาเปน Array ในแนวตง ใหใชเครองหมาย semi-colon ; คนระหวางคาแตละคา เชน

11;22;33

• ถาเปน Array ทมขนาดความสง 2 row และมความกวาง 3 column จะแสดงคาทม

เครองหมาย comma และ semi-colon ผสมกน เชน 1,2,3;11,22,33 โดย Array จะไล

ลาดบจากแนวนอน 1,2,3 กอนแลวจงใช ; ขนแนวนอนถดไปเปน 11,22,33

การนาคาแบบ Array ไปใชในเซลล ตางจากการใชวธพมพ 1,2,3 ลงไปในเซลลตามปกต โดย

ตองใช Array แบบสตรทมเครองหมายเทากบนาหนาสดเทานน ดงน

1. การใชแบบสตร Array Constant เชน พมพ ={1,2,3} ลงไปในเซลลใดๆ จะพบวา

ในเซลลแสดงคาแรกคอเลข 1 เพยงคาเดยว ซงถาตองการแสดงใหครบทกคา ตอง

เลอกเซลล 3 เซลลตดกนตามแนวนอนแลวพมพ ={1,2,3} แลวกดป ม

Ctrl+Shift+Enter เพอบนทก จะพบวาสตร ={1,2,3} ซงมวงเลบปกกาอยดานหลง

เครองหมายเทากบ จะมวงเลบปกกาเพมดานหนาเครองหมายเทากบอกชนหนงเปน {=

{1,2,3}}

125 

 

Copyright of www.ExcelExpertTraining.com 

2. การใชแบบสตร Array ซงรบคามาจากการอางองกบพนทในตาราง เชน รบคา

Array มาจากเซลลตามแนวนอน {=A1:C1} หรอรบคา Array มาจากเซลลตามแนวตง

{=A1:A3} หรอรบคา Array มาจากตารางขนาดความสง 2 row และมความกวาง 3

column {=A1:C2} ทงนโปรดสงเกตวาวธนจะมเครองหมายวงเลบปกกาแสดงไวหนา

เครองหมายเทากบ แสดงวาเปนวงเลบปกกาทเกดจากการกดป ม Ctrl+Shift+Enter

3. การใชแบบสตร Array ซงรบคามาจากสตรทคนคาแบบ Array เชน

{=Offset(A1,0,0,2,3)} ซงเทยบเทากบการอางองมาจากเซลล A1:C2 เปนตน

การนาคาแบบ Array ทง 3 แบบไปใช ขอใหเลอกพนทตารางใหมขนาดพอดบพอดกบจานวน

ของคาทมอยใน Array หรอใหมขนาดตารางเทากบจานวนผลลพธทตองการไวกอนทจะสราง

สตรลงไป กลาวคอ ถาในสตร Array คนคาสดทายเพยงคาเดยวกใหสรางสตรลงไปในเซลล

เพยงเซลลเดยว แตถาสตร Array คนคาผลลพธทมจานวนคามากกวาคาเดยว กตองเลอกพนท

ตารางใหมขนาดความสงและความกวางเทากนกบจานวนและลาดบคาทมอย จากนนใหกดป ม

Ctrl+Shift+Enter ในการรบสตร Array ลงไป จะพบวา Excel กระจายคาทมอยลงไปในพนท

ตารางทเตรยมไวใหเหนไดครบทกคา

ตวอยางการสรางตารางสตรคณแบบ Array

เมอตงชอ Range Name ใหกบตวเลขบนหวตารางและขางตารางวา Top และ Left เสรจแลว

ใหทดลองเลอกพนทเซลล C3:H7 ซงเกนกวาแนวขอบเขตตารางตวเลขทม แลวสรางสตร

=Top*Left แลวกดป ม Ctrl+Shift+Enter จะไดสตร Array {=Top*Left}

126 

 

Copyright of www.ExcelExpertTraining.com 

สงเกตวาเฉพาะพนทตาราง C3:F5 ซงอยภายในขอบเขตของ Top กบ Left เทานนสามารถ

คานวณหาผลคณเปนตารางสตรคณทตองการ สวนพนทนอกเหนอจาก C3:F5 ทมสตร Array

จะคนคาเปน Error #N/A

จากนนใหคลกเซลลใดกไดทมสตร {=Top*Left} แลวกดป ม F2 ตามดวยป ม F9 จะแสดง

ผลลพธเปน Array Constant {20,30,40,50;40,60,80,100;60,90,120,150} โดยผลลพธนม

เครองหมาย ; คนอย 2 ตว แสดงวาม 3 row เพราะมการขน row ใหม 2 ครง และในชวงทคน

ดวย ; นน มเครองหมาย , คนอยชวงละ 3 ตว แสดงวาในแตละ row มคาอย 4 column หรออก

นยหนงแสดงวา พนทตารางทเหมาะจะสรางสตร {=Top*Left} ลงไปนน ตองมความสง 3 row

และกวาง 4 column ดงนนหากเลอกพนทเกนกวาทจาเปนกจะไดคาตอบเปน Error #N/A

แตถาตองการหายอดรวมของผลคณของ =Top*Left ในเซลล C9 ใหสรางสตร

=SUM(Top*Left) แลวกดป ม Ctrl+Shift+Enter จะไดสตร Array {=SUM(Top*Left)} ซง

สาเหตทคราวนสรางสตรลงไปในเซลล C9 เพยงเซลลเดยว เพราะคาตอบของการหายอดรวมม

เพยงคาเดยวเทานน

เร องอนๆเกยวกบ Array ทควรทราบ

1. ใน Excel Help เรยกพนทใดๆทมจานวนตงแต 2 เซลลขนไปวา Array

2. การแกะดคาทคานวณไดจากสตร Array ใหเรมจากคลกลงไปในเซลลสตรแลวกดป ม

F2 แลวตามดวยป ม F9 เมอเหนคาทคานวณไดแลวใหกดป ม Esc เพอกลบเปนสตร

ตามเดม ทงนถาคาทแกะไดจากสตร Array คนคาหลายคาจนเกนกวาทเซลลหนงจะรบ

ได จะพบวา Excel ไมยอมแสดงคาใหเหน

3. วธคนหาพนทของสตร Array ทเกดจากการสราง

ขนหลายเซลลพรอมกน ใหเรมจากคลกเลอก

เซลลใดเซลลหนงซงใชสตร Array แลวกดป ม

F5 > Special > กาชอง Current array

4. บางคนกดป ม Ctrl+Shift+Enter แตไมได

เครองหมายวงเลบปกกา เพราะไมไดกดทงสาม

ป มพรอมกนจรง ถาอยากใหได { } อยางแนนอน

ใหใชมอซายกดป ม Ctrl+Shift แชคางไวกอน จากนนใชมอขวากดป ม Enter ลงไป

127 

 

Copyright of www.ExcelExpertTraining.com 

5. สตร Array ทเกดจากการสรางขนหลายเซลลพรอมกนโดยการกดป ม

Ctrl+Shift+Enter จะไมสามารถ Insert หรอ Delete เฉพาะบางเซลล หากตองการ

แกไขหรอลบทง ตองเลอกพนททงหมดทใชสตร Array นนกอนแลวจงแกไขสตรหรอ

ลบสตรทง (ดงนนหากสามารถลบสตร Array เพยงเซลลเดยวได ยอมแสดงวาเปนสตร

Array ทสรางทละเซลล)

6. สตร Array ทเราสรางขนโดยการกดป ม

Ctrl+Shift+Enter จะไมสามารถสรางลงไปใน

เซลลทถก Merge ไวกอนแลว จะถกเตอนวา

Array formulas are not valid in merged

cells (แตเราสามารถ Merge เซลลทสรางสตร Array ไวกอน)

7. สตร Array ทเกดจากการสรางขนหลายเซลลพรอมกนโดยการกดป ม

Ctrl+Shift+Enter จะใชเวลาคานวณเรวกวาการสรางสตรคานวณเพอหาคาตอบทละ

เซลลแยกจากกน

8. สตร Array ทเราสรางขนโดยการกดป ม Ctrl+Shift+Enter ทงทสรางในเซลลเดยวหรอ

หลายเซลลพรอมกน จะใชเวลาคานวณชากวาสตรสาเรจรปทมอยใน Excel ดงนนจง

แนะนาใหใชสตร Array ตอเมอไมมสตรสาเรจรปอนซงสามารถคานวณหาคาตอบท

ตองการไดแลวเทานน

9. ใน Excel รน 2003 และรนเกากอนนน สตร Array ทเราสรางขนโดยการกดป ม

Ctrl+Shift+Enter จะไมยอมรบการอางองพนทตารางทมขนาดใหญเตมความสงทง

65,536 row ของตาราง เชน

{=MIN(IF(A:A<>0,ROW(A:A)))} หรอ

{=MIN(IF(A1:A65536<>0,ROW(A1:A65536)))}

แตถาแกเปน {=MIN(IF(A1:A65535<>0,ROW(A1:A65535)))} จะใชได

10. นอกจากสตร Array ทเราสรางขนโดยการกดป ม Ctrl+Shift+Enter แลว ใน Excel ยงม

สตรสาเรจรปอนอกททางานแบบ Array โดยไมตองกดป ม Ctrl+Shift+Enter เชน สตร

SumIF, CountIF, SumIFs, CountIFs, AverageIfs, SumProduct ซงถาพจารณาตาม

หลกการแลวสตรใดกตามซงรบคาจากเซลลตงแต 2 เซลลขนไปได ยอมเปนสตรท

ทางานแบบ Array จงยงมสตรอกมากทสามารถทางานแบบ Array ได เชน สตร Sum,

Max, Min, And, Or, Index, หรอ Offset เปนตน

128 

 

Copyright of www.ExcelExpertTraining.com 

11. SumIFs, CountIFs, AverageIfs เปนสตรทเกดขนใน Excel 2007 เปนตนมา ดงนน

หากยงจาเปนตองใช Excel 2003 หรอรนเกากวานอยอก แนะนาใหหลกเลยงสตร

SumIFs, CountIFs, AverageIfs ไปกอน โดยหนไปใชสตร Sum-IF-Array, Count-

IF-Array, Average-If-Array ซงสามารถใชงานใน Excel ไดทกรน แตจาเปนตองสราง

โดยการกดป ม Ctrl+Shift+Enter

12. Max, Min, And, Or เมอนามาใชแบบ Array จะไมสามารถคนคาหลายคาแบบ Array

เชน ถาสราง {=Max(RangeA,RangeB)} จะไมไดคาตอบเปนคาสงสดของแตละ

ตาแหนงใน RangeA เมอนามาเทยบกบแตละตาแหนงใน RangeB แตจะไดคาตอบเปน

คาสงสดเพยงคาเดยวจากคาทงหมดใน RangeA และ RangeB

13. สตร Array บางสตรไมสามารถหาคาตอบมาแสดงใหเหนในเซลล แตถานาสตรนนไป

ซอนในสตรอนจะสามารถทางานรวมกบสตรอนได

14. สตร Array ทคนคาคาตอบหลายคา ไมควรสรางสตรนนลงไปในเซลลเดยวเพราะจะได

คาตอบไมครบทงหมดหรอไดคาตอบ error

15. ถาสรางสตร Array ทคนคาคาตอบหลายคา ลงไปในเซลลเดยวในแนวเดยวกบคาตอบ

จากตารางฐานขอมล จะไดคาตอบจากเซลลในแนวคขนานกบตาแหนงเซลลทสรางสตร

ลงไป ซงถอเปนความบงเอญเทานน ถายายสตรไปนอกแนวคขนานจะไดคาตอบ error

16. ถาสรางสตร Array ลงไปในตารางหลายเซลลพรอมกน จะพบวาในการสรางสตรตอนท

คลกเลอกพนทเซลลทเคยตงชอ Range Name ไวกอนนน Excel จะไมยอมนาชอ

Range Name มาใสใหในสตร เชน เดมตงชอเซลล B4:B8 วา DataRange จากนนเมอ

เลอกเซลลอนใดเพอจะสรางสตรลงไปพรอมกน พอพมพ = แลวคลกเลอกเซลล B4:B8

จะไมไดชอ DataRange มาใสในสตร แตจะไดตาแหนงเซลล B4:B8 แสดงในสตร

เหมอนวาไมเคยมชอ DataRange ตงไวกอนแตอยางใด หากตองการนาชอ Range

Name มาใสในสตร ใหกดป ม F3 เพอเลอกชอทตองการมาใชแทนการคลกเลอกเซลล

129 

 

Copyright of www.ExcelExpertTraining.com 

17. ถาอยากจะเกง Excel ใหทดลองสรางสตรกบตารางขนาดเลกใหผานกอน แลวใหลอง

กดป ม Enter ตามธรรมดาบาง หรอกดป ม Ctrl+Shift+Enter บาง เพราะบางครงจะได

คาตอบตางไปจากเดม

18. ไมควรปลอยใหคนทไมรจกวธสรางสตร Array ทสรางขนโดยการกดป ม

Ctrl+Shift+Enter มาแกไขแฟมทมสตร Array เพราะเขาจะกดป ม Enter แทนแลวอาจ

ทาใหไดคาตอบผดเพยนไปหรอไดคาตอบ error ขนมาแทน

130 

 

Copyright of www.ExcelExpertTraining.com 

สตร Array IF

เพอใชหายอดรวมแยกประเภท

สตร Array IF เพอใชหายอดรวมแยกประเภท ถอเปนสตรทสาคญเปนอยางยงและเปนสตรทใช

บอยทสดสตรหนงทเดยว จนใน Excel 2007 เปนตนมาบรษทไมโครซอฟทไดเพมสตร

SumIFs, CountIFs, และ AverageIFs เพอตอบสนองตอความตองการของผใช เพราะใน

Excel รนกอนนนมเพยงสตร SumIF และ CountIF ซงไมสามารถรบเงอนไขในการคานวณเกน

กวา 1 เงอนไข

แตถาคณนาแฟมทใชสตร SumIFs, CountIFs, และ AverageIFs ไปเปดดวย Excel 2003

หรอรนเกากวา จะพบวาสตรใหมเหลานไมทางานเพราะ Excel รนทจะใชสตรใหมไดกตองเปน

Excel รนใหมเชนกน

บทความนจะแนะนาแนวทางการสรางสตร Array IF วามทไปทมาอยางไร เพอชวยใหสามารถ

สรางสตรหายอดรวมแยกประเภทไดโดยไมจาเปนตองอาศยสตร SumIFs, CountIFs, และ

AverageIFs แตอยางใด แลวเมอคณทราบหลกการทางานของการใช Array IF หรอ Array

แบบเงอนไข ยงจะชวยใหสามารถนาไปพฒนาสรางสตรหาคาตอบประเภทอนๆไดไมยาก

สตร Array IF คออะไร

สตร Array IF คอ สตร IF ททาหนาทตรวจสอบคาหลายคาวาตรงตามเงอนไขทกาหนดหรอไม

โดยจะไดผลลพธจากการตรวจสอบเปน True หรอ False หลายคาตามลาดบตาแหนงของคาท

ใช ซงตางจากสตร IF ธรรมดาทมการตรวจสอบคาเพยงคาเดยวและเกดผลลพธเปน True หรอ

False อยางใดอยางหนงเพยงคาเดยว

โดยลาพงของสตร Array IF จะไมสามารถหายอดรวมแยกประเภทได แตเมอนาผลลพธ True

หรอ False ทไดนนไปเทยบกบ Array ของตวเลขคาตอบทตองการ จะทาใหเราสามารถเลอก

เกบตวเลขเฉพาะตาแหนงคาทตรงกบตาแหนงของ True แลวจงนาผลทไดไปหายอดรวมกบ

สตรอนๆกจะกลายเปนสตร Array เพอหาคาตามสตรนนๆ เชน เมอนาผลทไดหลงจากการเทยบ

ตาแหนง True/False ไปซอนในสตร Sum กจะกลายเปนสตร Array Sum IF ซงหายอดรวม

131 

 

Copyright of www.ExcelExpertTraining.com 

แยกประเภท หรอถาซอนในสตร Average กจะกลายเปนสตร Array Average IF ซงหาคาเฉลย

แยกประเภท

โครงสรางของสตร Array IF ประกอบดวย 2 สวนใหญๆ ซงโดยทวไปทง 2 สวนตองมขนาด

ความสงความกวางของ Array เทากน กลาวคอ

1. สวนของ Array ททาหนาทคนคา True หรอ False

2. สวนของ Array ทเปนตวเลขหรอคาคาตอบเรองทตองการ

(ในเบองตนขอใหจาไววาขนาด Array ทงสองสวนนตองมขนาดเทากน ซงทจรงแลวขอเพยงวา

มขนาดความสงหรอขนาดความกวางดานใดดานหนงเทากนกใชไดแลว)

การใชสตร Array IF แบบเงอนไขเดยว

โปรดสงเกตวาใน Range ID มรหส a001 และ a002 เปนรายการทบนทกซา ซงถามรหสไมซา

แลวตองการหายอด Amount ของ a001 จะสามารถหาคาตอบโดยใชสตร Vlookup ไดทนท

แตเมอมรายการซา ถาใชสตร Vlookup กจะไดยอดของ a001 รายการแรกเพยงรายการเดยว

หากตองการหายอดรวม Amount ของ a001 หรอจะแยกหายอดแตละรายการทซาของ a001

กตองอาศยสตรคานวณแบบ Array มาชวย

ถาไมใชสตร Array IF จะหายอดรวม Amount ของรหส a001 จากการคานวณทละขนได

อยางไร

132 

 

Copyright of www.ExcelExpertTraining.com 

1. เพอทาใหตารางแสดงเฉพาะพนทซ งเกยวของกบการคานวณเทานน จงขอลบพนทสวน

ของ Num และ Name ทงไป แลว Insert เพม column C และ E มาใชคานวณทละขน

2. ตงชอ Check ใหกบเซลล C3:C7 แลวสรางสตร =Id=$G$3 จะพบวาไดคาตอบเปน

TRUE; FALSE; TRUE; FALSE; FALSE ตามลาดบ โดยตาแหนงทเปน True คอ

ตาแหนงของรหส a001 นนเอง

3. เซลล E3:E7 สรางสตร =IF(Check,Amount,0) จะพบวาถาตาแหนงใดใน Check มคา

เทากบ True สตร IF นจะเกบคา Amount มาใชตามเดม แตถาไมใชจะใสคา 0 แทน

4. เซลล E8 สรางสตร =SUM(E3:E7) ไดคาตอบเทากบ 40 ซงเปนยอดรวมแยกประเภท

ของรหส a001 ตามตองการ

แทนทจะตองสรางตารางเพมเตมเพอคานวณทละขน เราสามารถลดหาคาตอบยอดรวมแยก

ประเภทของรหส a001 ทตองการโดยพจารณาแยกพนทตารางเปน 2 สวน

133 

 

Copyright of www.ExcelExpertTraining.com 

1. Id เปนสวนของ Array ททาหนาทคนคา True หรอ False จากการนาไปเปรยบเทยบคา

กบรหสทตองการ

2. Amount เปนสวนของ Array ทเปนตวเลขหรอคาคาตอบเรองทตองการ

จากนนเราสามารถหาคาตอบยอดรวมแยกประเภทของรหส a001 ซงบนทกไวในเซลล G3 เปน

เซลลสาหรบใสรหสทตองการ แลวใชสตรตอไปนหาผลลพธทตองการ

1. สตร SUMIF โดยใชสตร =SUMIF(Id,$G$3,Amount) หรอ

2. สตร Array SumIF โดยใชสตร { =SUM(IF(Id=$G$3,Amount))} โดยตองกดป ม

Ctrl+Shift+Enter ดวยจงจะเกดวงเลบปกกา { } ปดหวทายสตร หรอ

3. สตร SumArray โดยใชสตร { =SUM((Id=$G$3)*Amount)} โดยตองกดป ม

Ctrl+Shift+Enter ดวยจงจะเกดวงเลบปกกา { } ปดหวทายสตร หรอ

4. สตร SumProduct โดยใชสตร =SUMPRODUCT((Id=$G$3)*Amount) โดยไม

ตองกดป ม Ctrl+Shift+Enter ดวยแตอยางใด

สตรทงสแบบใชหลกการคานวณแบบเดยวกน คอ

1. Id เปนสวนของ Array ททาหนาทคนคา True หรอ False จากการนาไปเปรยบเทยบคา

กบรหส a001 ทตองการ จะคนคาออกมาเปน Array

{TRUE;FALSE;TRUE;FALSE;FALSE}

2. Amount เปนสวนของ Array ทเปนตวเลขหรอคาคาตอบเรองทตองการ

{10;20;30;40;50}

3. เมอนา Array {TRUE;FALSE;TRUE;FALSE;FALSE} มาเทยบตาแหนงกบ Array

{10;20;30;40;50} จะได Array ตวเลขเฉพาะตวเลขคาตอบทตองการออกมาเปน

{10;FALSE;30;FALSE;FALSE}

4. จากนนเมอนาผล {10;FALSE;30;FALSE;FALSE} ไปหายอดรวมดวยสตร Sum จงหา

คาตอบเปน 40 ตามตองการ

แมวาสตรทงสแบบนจะหาผลลพธทตองการไดเชนเดยวกนกตาม แตขอใหพจารณาเลอกใชให

เหมาะสมกบงาน กลาวคอ

1. สตร SUMIF ใหใชกบโจทยทงายไปตลอดเพราะสตรนรบเงอนไขไดเพยงเงอนไข

เดยว และสตรนใชเวลาคานวณเรวทสดในบรรดาสสตรทกลาวถงอยน

134 

 

Copyright of www.ExcelExpertTraining.com 

2. สตร Array SumIF สตรนเปนสตรพเศษ เพราะเราสามารถเปลยนสตร Sum ดานหนา

ไปเปนสตร Average, Count, Max, Min, หรอ Small เพอหายอดอนๆตามสตรทใช

แทนนน และถามหลายเงอนกสามารถซอน IF เขาไปไดอก

{ =SUM(IF(Id=$G$3,Amount))} หายอดรวมของ a001 ไดเทากบ 40

{ =AVERAGE(IF(Id=$G$3,Amount))} หาคาเฉลยของ a001 ไดเทากบ 20

{ =COUNT(IF(Id=$G$3,Amount))} นบยอดของ a001 ไดเทากบ 2

{ =MAX(IF(Id=$G$3,Amount))} หายอดสงสดของ a001 ไดเทากบ 30

{ =MIN(IF(Id=$G$3,Amount))} หายอดตาสดของ a001 ไดเทากบ 10

3. สตร SumArray เปนสตรทผมนยมใชเพราะใชมานานและพบวาสามารถหาคาตอบท

ตองการไดเสมอแมจะลงคขามแฟมมาจากแฟมทไมไดเปดกยงทางานได และถาม

หลายเงอนไข การใชวงเลบหลายๆชดชวยตรวจสอบเงอนไขยงงายกวาทจะใชสตร IF

ซอนกนเขาไป

4. สตร SumProduct เปนสตรยอดนยมของคนทวไปเพราะไมจาเปนตองกดป ม

Ctrl+Shift+Enter ดวยแตอยางใด ซงแทจรงแลวโครงสรางภายในวงเลบของสตรนก

เหมอนกบของสตร SumArray นนเอง

เร องแปลกของ True กบ False

คณควรทราบลกษณะสาคญของคา True หรอ False เพมเตมกอนทจะเรยนรวธใชสตร Array

IF แบบหลายเงอนไข กลาวคอ Excel ถอวาคา True มคาเทากบ 1 และคา False มคาเทากบ

0 ซงเราจะเหนคาเหลานไดชด ตอเมอนาคา True หรอ False มาคานวณตอ

แตถานาคา True ทไดไปเทยบตรงๆกบเลข 1 วาเทากนหรอไม จะพบวา True ไมเทากบ 1

และถานาคา False ทไดไปเทยบตรงๆกบเลข 0 วาเทากนหรอไม จะพบวา False ไมเทากบ 0

135 

 

Copyright of www.ExcelExpertTraining.com 

จากภาพตวอยางน เซลล B2 มคา =TRUE() จากนนเรามาทดสอบคาของ B2 กน จะพบวาใน

เซลล C2 เมอนามาเทยบคากนโดยตรง ซงมสตร =B2=1 บอกเราวา False แสดงวา True

ไมไดเทากบ 1 แตเมอนาคาจาก B2 ไปคานวณตอในเซลล C3:C8 ไมวาจะนา B2 ไป *1, /1,

+0, -0, หรอใสเครองหมายลบลบไวขางหนา หรอนาไปคณกบ TRUE() จะกระตนใหแสดงคา

เทากบเลข 1 ออกมาใหเหน

ทานองเดยวกน เซลล G2 มคา =FALSE() จากนนเรามาทดสอบคาของ G2 กน จะพบวาใน

เซลล H2 เมอนามาเทยบคากนโดยตรง ซงมสตร =G2=0 บอกเราวา False แสดงวา False

ไมไดเทากบ 0 แตเมอนาคาจาก G2 ไปคานวณตอในเซลล H3:H8 ไมวาจะนา G2 ไป *1, /1,

+0, -0, หรอใสเครองหมายลบลบไวขางหนา หรอนาไปคณกบ TRUE() จะกระตนใหแสดงคา

เทากบเลข 0 ออกมาใหเหน

ดงนนถาเราม Array ซงมคา True หรอ False แลวนาไปบวกหรอคณกบ Array อนทมคาเปน

ตวเลขหรอมคาเปน True หรอ False กตาม ยอมเหมอนกบนาเลข 1 หรอเลข 0 ไปบวกหรอคณ

กบคาอนนนเอง โปรดดขอพสจนจากรปตอไปน

Array ทมเลข 1 และ 0 จากการบวกหรอคณนแหละทชวยทาใหเราหายอดรวมแยกประเภท

ตอไปได

136 

 

Copyright of www.ExcelExpertTraining.com 

การใชสตร Array IF แบบหลายเงอนไข

กรณ Range ทใชตรวจสอบเงอนไขมาจากเรองเดยวกน ใหใชบวก

ใหหายอดรวม Amount ของรหส Id a001 กบ a002 (ทงนทเรยกวา เปนเรองเดยวกนเพราะ

เงอนไขเปนเรองของรหสเชนกนทงค) โดยบนทกรหสทตองการใหใชเปนรหสทคนหาไวท

เซลล G3 และ H3 ตามลาดบ ซงสามารถใชสตรหาคาตอบเปนยอดรวม 110 ไดหลายวธ ดงน

1. ใชสตร {=SUM(IF(Id=G3, Amount, IF(Id=H3,Amount,0) ))}

โดยตองกดป ม Ctrl+Shift+Enter เพอสรางเครองหมายวงเลบปกกา { } ปดหวทาย

สตร ถาแกะสตร IF(Id=G3, Amount, IF(Id=H3,Amount,0) ) โดยการคลกลากทบ

สวนของสตรนแลวกดป ม F9 จะได Array {10;20;30;0;50} ซงเปลยนคา Amount

ของรหสอนทไมเทากบ a001 หรอ a002 ใหเทากบ 0 แทน

2. ใชสตร { =SUM( ((Id=G3)+(Id=H3)) *Amount) }

โดยตองกดป ม Ctrl+Shift+Enter เพอสรางเครองหมายวงเลบปกกา { } ปดหวทาย

สตร ถาแกะสตร ((Id=G3)+(Id=H3)) โดยการคลกลากทบสวนของสตรนแลวกดป ม

F9 จะได Array {1;1;1;0;1} โดยมเลข 1 ตรงกบตาแหนงของรหสทตองการ

ถาแกะทมาของเงอนไข (Id=G3) จะได Array ของ

{TRUE;FALSE;TRUE;FALSE;FALSE} ทนามาบวกกบ (Id=H3) ซงเปน Array ของ

{FALSE;TRUE;FALSE;FALSE;TRUE} ทาใหได Array

{1;1;1;0;1}

137 

 

Copyright of www.ExcelExpertTraining.com 

และเมอนา {1;1;1;0;1} คณกบ Array ของ Amount {10;20;30;40;50}

จะได Array {10;20;30;0;50} ซงรวมคาทงหมดไดเทากบ 110 ตามตองการ

3. ใชสตร =SUMPRODUCT( ((Id=G3)+(Id=H3)) *Amount)

โดยมหลกการคานวณแบบเดยวกบวธทสอง แตไมตองอาศย { }

เพอชวยทาใหมองเหนลาดบการคานวณไดชดเจนขน ขอใหดภาพตอไปนแลวดหลกการ

คานวณทละขนจาก column ซายไปขวา

• Column ท 1 เปนรหส Id จะพบวามรหส a001 กบ a002 อย 4 รายการ

• Column ท 2 ตรวจสอบรหส Id a001 จะพบวามรหส a001 อย 2 รายการ โดยถามอง

ตาแหนงทเปนรหสทตองการเปนเลข 1 และตาแหนงทไมใชเปนเลข 0

จะไดเลข 1, 0, 1, 0, 0 ตามลาดบจากบนมาลาง

• Column ท 3 ตรวจสอบรหส Id a002 จะพบวามรหส a002 อย 2 รายการ โดยถามอง

ตาแหนงทเปนรหสทตองการเปนเลข 1 และตาแหนงทไมใชเปนเลข 0

จะไดเลข 0, 1, 0, 0, 1 ตามลาดบจากบนมาลาง

• Column ท 4 เปนผลรวมเมอนา Column ท 2 มารวมกบ Column ท 3

จะไดเลข 1, 1, 1, 0, 1 ตามลาดบจากบนมาลาง แสดงตาแหนงของรหส a001 กบ

a002 ณ ตาแหนงทตรงกบเลข 1

• Column ท 5 เปนตวเลข Amount ทงหมด

• Column ท 6 เปนผลคณเมอนา Column ท 4 มารวมกบ Column ท 5

จะไดเลข 10, 20, 30, 0, 50 ตามลาดบจากบนมาลาง ซงรวมเทากบ 110

138 

 

Copyright of www.ExcelExpertTraining.com 

การใชสตร Array IF แบบหลายเงอนไข

กรณ Range ทใชตรวจสอบเงอนไขมาจากตางเรองกน ใหใชคณ

ใหหายอดรวม Amount ของรหส Id a001 เฉพาะรายการทม Name เทากบ c (ทงนทเรยกวา

เปนตางเรองกน เพราะเงอนไขรหสตางจากเงอนไขชอ) โดยบนทกรหสทตองการใหใชเปนรหส

และชอทคนหาไวทเซลล G3 และ H3 ตามลาดบ ซงสามารถใชสตรหาคาตอบเปนยอดรวม 30

ไดหลายวธ ดงน

1. ใชสตร { =SUM(IF(Id=G3, IF(Name=H3,Amount,0), 0 ))}

โดยตองกดป ม Ctrl+Shift+Enter เพอสรางเครองหมายวงเลบปกกา { } ปดหวทาย

สตร ถาแกะสตร IF(Id=G3, IF(Name=H3,Amount,0), 0 ) โดยการคลกลากทบสวน

ของสตรนแลวกดป ม F9 จะได Array {0;0;30;0;0} ซงเปลยนคา Amount ของรหส

อนทไมเทากบ a001 และชอไมใช c ใหเทากบ 0 แทน

2. ใชสตร { =SUM( (Id=G3)*(Name=H3) *Amount) }

โดยตองกดป ม Ctrl+Shift+Enter เพอสรางเครองหมายวงเลบปกกา { } ปดหวทาย

สตร ถาแกะสตร (Id=G3)*(Name=H3) โดยการคลกลากทบสวนของสตรนแลวกดป ม

F9 จะได Array {0;0;1;0;0} โดยมเลข 1 ตรงกบตาแหนงรายการทตองการ

139 

 

Copyright of www.ExcelExpertTraining.com 

ถาแกะทมาของเงอนไข (Id=G3) จะได Array ของ

{TRUE;FALSE;TRUE;FALSE;FALSE} นามาคณกบ (Name=H3) ซงเปน Array ของ

{FALSE;FALSE;TRUE;FALSE;FALSE} ทาใหได Array

{0;0;1;0;0}

และเมอนา {0;0;1;0;0} คณกบ Array ของ Amount {10;20;30;40;50}

จะได Array {0;0;30;0;0} ซงรวมคาทงหมดไดเทากบ 30 ตามตองการ

3. ใชสตร =SUMPRODUCT( (Id=G3)*(Name=H3) *Amount)

โดยมหลกการคานวณแบบเดยวกบวธทสอง แตไมตองอาศย { }

4. ใชสตร =SUMIFS(Amount,Id,G3,Name,H3) เปนสตรทเกดขนใน Excel 2007

เปนตนมา

เพอชวยทาใหมองเหนลาดบการคานวณไดชดเจนขน ขอใหดภาพตอไปนแลวดหลกการ

คานวณทละขนจาก column ซายไปขวา

• Column ท 1 เปนรหส Id จะพบวามรหส a001 อย 2 รายการ

• Column ท 2 ตรวจสอบรหส Id a001 จะพบวามรหส a001 อย 2 รายการ โดยถามอง

ตาแหนงทเปนรหสทตองการเปนเลข 1 และตาแหนงทไมใชเปนเลข 0

จะไดเลข 1, 0, 1, 0, 0 ตามลาดบจากบนมาลาง

• Column ท 3 เปนชอ Name จะพบวามชอ c อย 1 รายการ

• Column ท 4 ตรวจสอบชอ Name c จะพบวามชอ Name c อย 1 รายการ โดยถามอง

ตาแหนงทเปนรหสทตองการเปนเลข 1 และตาแหนงทไมใชเปนเลข 0

จะไดเลข 0, 0, 1, 0, 0 ตามลาดบจากบนมาลาง

140 

 

Copyright of www.ExcelExpertTraining.com 

• Column ท 5 เปนผลคณเมอนา Column ท 2 มาคณกบ Column ท 4

จะไดเลข 0, 0, 1, 0, 0 ตามลาดบจากบนมาลาง แสดงตาแหนงของรหส a001 มชอ

Name c ณ ตาแหนงทตรงกบเลข 1

• Column ท 6 เปนตวเลข Amount ทงหมด

• Column ท 7 เปนผลคณเมอนา Column ท 5 มาคณกบ Column ท 6

จะไดเลข 0, 0, 30, 0, 0 ตามลาดบจากบนมาลาง ซงรวมเทากบ 30

วธพลกแพลงสตร SumProduct

สตร SumProduct เปนสตรททางานแบบ Array อยในตว มหนาทนา Range ของตวเลขแตละ

ตาแหนงจากตารางทมขนาดเทากน มาคณกนทละเซลลตามตาแหนงทตรงกน จากนนจงบวก

รวมผลคณทไดนนเขาดวยกน

ตวอยาง เชน เราตองการหามลคาตนทนรวมของสนคา โดยนาตนทนตอหนวยมาคณกบจานวน

หนวย ซงหากไมรจกสตร SumProduct กตองนา Cost*Quantity ทละรายการ เพอใหได

ตวเลข Total ตาม Column D จากนนจงสรางสตรในเซลล F2 =SUM(D3:D5) จงจะไดยอด

รวมตนทนทงหมด

ซงแทนทจะตองเสยพนทคานวณหา Total ใน Column D เราสามารถใชสตร SumProduct ลด

หาตนทนรวมไดโดยใชสตรตามน

1. =SUMPRODUCT(Cost, Quantity) เปนการใชสตรตามโครงสรางปกต โดยใช

เครองหมาย comma , คนแตละ Range ในสตร หรอ

2. =SUMPRODUCT(Cost*Quantity) เปนสตรทนาแตละ Range มาคณกนเลย ซง

การสรางแบบคณกนน จะชวยใหเราสามารถคลกลากทบการคานวณในวงเลบแลวกดป ม

F9 เพอเหนผลการคณกนของแตละตาแหนงไดดวย

141 

 

Copyright of www.ExcelExpertTraining.com 

จากนน ขอยอนกลบไปเรองโครงสรางภายในสตร Array IF ตามทอธบายไวแลววา โครงสราง

ของสตร Array IF ประกอบดวย 2 สวนใหญๆ ซงโดยทวไปทง 2 สวนตองมขนาดความสงความ

กวางของ Array เทากน กลาวคอ

1. สวนของ Array ททาหนาทคนคา True หรอ False

2. สวนของ Array ทเปนตวเลขหรอคาคาตอบเรองทตองการ

ขอนาสตร =SUMPRODUCT( (Id=G3)*(Name=H3) *Amount) มาวเคราะหแยก

โครงสรางขางตน จะพบวา

1. สวนของ Array ททาหนาทคนคา True หรอ False ไดแก สวนของ (Id=G3) และ

(Name=H3) ซงนามาคณกนเพอทาใหเปลยน True เปนเลข 1 และเปลยน False เปน

เลข 0

2. สวนของ Array ทเปนตวเลขหรอคาคาตอบเรองทตองการ ไดแกสวนของ Amount

ดงนนหากตองการปรบสตรใหคานวณนบแทนการหายอดรวมของ Amount โดยใหนบวามคา

ตามเงอนไขทงสนกรายการ ใหใชสตรใดสตรหนงตอไปนกได

1. =SUMPRODUCT( (Id=G3)*(Name=H3) ) โดยสตร SumProduct จะทา

หนาทรวมเลข 1 ทไดจากการคณกนของ Array ภายในวงเลบวามเลข 1 กตว นนคอนบ

จานวนรายการทมเงอนไขตามตองการนนเอง

2. =SUMPRODUCT( (Id=G3)*1, (Name=H3)*1)

3. =SUMPRODUCT( (Id=G3)/1, (Name=H3)/1)

4. =SUMPRODUCT( (Id=G3)+0, (Name=H3)+0)

5. =SUMPRODUCT( (Id=G3)-0, (Name=H3)-0)

6. =SUMPRODUCT( --(Id=G3), --(Name=H3) )

สตร SumProduct แบบท 2-6 เปนสตรทใชเครองหมาย comma , คน จงจาเปนตองกระตนให

เปลยน True เปนเลข 1 และเปลยน False เปนเลข 0 โดยนา True หรอ False ทไดจากการ

ตรวจสอบเงอนไขไป *1, /1, +0, -0, หรอใสเครองหมายลบลบไวขางหนากอน

ดงนนจงขอแนะใหสรางสตร SumProduct แบบนาเงอนไขมาคานวณ(คณหรอบวก)กนเองกอน

เพราะนอกจากจะแกะหาผลจากการคณหรอบวกกนจากสวนของเงอนไขทนามาคานวณกนได

142 

 

Copyright of www.ExcelExpertTraining.com 

แลว ยงเปนสตรทสนกวาและมขนตอนการคานวณนอยกวาสตร SumProduct ทใชแบบ

เครองหมาย comma , คนอยภายใน

หมายเหต

โดยทวไปหากเงอนไขทใชในสตร Array IF เปนการตรวจสอบวาเทากนหรอไม โดยใช

เครองหมาย = ในการเปรยบเทยบวาเปน True หรอ False เราสามารถทองจาไวเลยดงน

• ถา Range ทนามาตรวจสอบเงอนไขเปน เร องเดยวกน ใหนาผลลพธจากการ

ตรวจสอบเงอนไขมา บวกกน และมวงเลบเปดดานหนา 3 ตว

• ถาถา Range ทนามาตรวจสอบเงอนไขเปน ตางเรองกน ใหนาผลลพธจากการ

ตรวจสอบเงอนไขมา คณกน และมวงเลบเปดดานหนา 2 ตว

แตถาเปนการตรวจสอบเงอนไขประเภทมากกวาหรอนอยกวาหรอผสมกน แม Range ทนามา

เปนเงอนไขจะเปนเรองเดยวกน กไมจาเปนวาตองนาผลลพธจากการตรวจสอบเงอนไขมาบวก

กนเสมอไป บางกรณอาจใชคณกนกได ทงนข นกบลกษณะการเปรยบเทยบทใชดวย โดยขอให

คดหาวธใดกไดทจะทาใหเกดเลข 1 ชเฉพาะตาแหนงรายการทตองการใหได

143 

 

Copyright of www.ExcelExpertTraining.com 

ของจรง ของปลอม

ของใชไมไดใน Excel

ในเรองความซอสตยสจรต โปรแกรม Excel ถอวาไดหนงรอยคะแนนเตม ไมวาคณจะบนทกคา

สรางสตร หรอนา Excel มาใชแบบใด อะไรทคณทาลงไปใน Excel กจะไดรบผลตามนน แตถา

คณเขาใจ Excel ไดไมดพอ กอาจจะตโพยตพายเมอเหนวา Excel ทรยศ เพราะมนใหคาตอบท

ผดพลาดตางจากคาตอบทคณตองการ ทงๆทแทจรงแลวคณนนแหละทเขาใจผด

ของจรงททาใหสตร IF กลายเปนของปลอม

เนอหาทจะนามาอธบายตอไปนจะชเปนชตายใหกบคนทชอบใชสตร IF หรอสตรใดกตามท

เกยวของกบการตดสนใจหรอใชในการคนหาขอมลวา แฟมงานทคณสรางขนนนมความ

นาเชอถอหรอไม เพอพสจนใหเหนกบตา ลองดสตร IF ตอไปนแลวคดวาจะไดคาตอบออกมา

เปนคาวา เทากน หรอ ไมเทากน

=IF( 22.3-22.2=0.1, "เทากน", "ไมเทากน")

เชอหรอไม!!! Excel จะใหคาตอบออกมาวา 22.3-22.2 นนไมเทากบ 0.1 โดยคนคาออกมาเปน

คาวา ไมเทากน ซงถอเปนคาตอบทถกตอง เพราะ 22.3-22.2 ไมไดคานวณออกมาแลวใหผล

ลพธเทากบ 0.1 ตามทเราเขาใจ

ขอใหลองสรางสตร =22.3-22.2 ลงไปในเซลล แลวกดป ม F2 ตามดวยป ม F9 จะพบวาคาท

แทจรงท Excel คานวณไดคอ 0.100000000000001 ซงแนนอนวาไมใช 0.1

บางคนมองคา 0.100000000000001 แลวยอมรบตวเลขทไดน เพราะเหนวามนตางจาก 0.1 ท

ตองการเพยงเลกนอย ถาใครคดเชนนแสดงวาเขาใจ Excel ผด เพราะ Excel จะไมยอมรบวาคา

0.1 เทากบ0.100000000000001 ไมวาคาทแตกตางกนนนจะนอยมากกตาม

การท Excel คานวณไดคาทเพยนตางจากทควรน ไมไดถอวาเปนการคานวณทผดพลาด และ

ไมไดมแคกรณนกรณเดยว สตรหรอการคานวณใดๆทคณใชมโอกาสคนคาเพยนไปจากท

ตองการไดทงนน

144 

 

Copyright of www.ExcelExpertTraining.com 

Excel จะใชรปแบบ (Format Number) แสดงคาในเซลลตามลกษณะตวเลขทพมพ นคอ

สาเหตประการแรกทอธบายวา ทาไม Excel จงไมแสดงคา 0.100000000000001 ในเซลล

ออกมาใหเหนครบทกหลก เนองจากตวเลข 22.3-22.2 ทพมพลงไปมทศนยมเพยงหนงหลก

ดงนน Excel จงแสดงผลลพธใหเหนตวเลขทมทศนยมเพยงหนงหลกตามไปดวย

คาทเพยนไปไมไดถอวาเกดจากการคานวณทผดพลาด แตเปนเพราะ Excel ใชหลกการคานวณ

แบบเลขฐานสองแลวแปลงกลบมาเปนเลขฐานสบ ซงคา 22.3-22.2 คานวณแบบเลขฐานสอง

ไดคาตอบเปนเลขทซาไมรจบ (Repeating Binary Number) จากนนเมอแปลงกลบมาเปน

เลขฐานสบใหพวกเราเขาใจ จงตองปรบคาใหเหลอเพยง 15 หลก (Excel มความละเอยด

Precision โดยรบตวเลขไดสงสด 15 หลก) แลวสงผลใหไดผลลพธแตกตางจากทควรบาง

เลกนอย และมไดเกดขนเฉพาะกรณ 22.3-22.2 เทานน เราไมมทางคาดการณไดเลยวาจะ

เพยนเมอใดและเกดจากการคานวณใด

ดงน นกอนทคณจะใชสตรทเก ยวของกบการตดสนใจหรอสตรในการคนหาขอมล เชน

IF, SumIF, VLookup, หรอ Match จาเปนตองปรบคาใหเทากบคาทตองการ เพอใหเปนไป

ตามเงอนไขทตองการกอนเสมอ โดยใชสตรอนเขามาชวยปรบคา จากนนเมอไดคาตามท

ตองการจรงๆแลวคณจะกาหนดรปแบบ Format ใดๆใหกบคานนกตามใจ (หามใชแตเพยงการ

กาหนดรปแบบเทานนเพราะมนไมไดชวยปรบคาทแทจรงแตอยางใด)

สตรสาคญซงใชในการปรบคาตวเลขใหเปนไปตามตองการ (โปรดศกษารายละเอยดของสตร

ไดจาก Excel Help) ไดแก

1. สตร =Round(ตวเลข, จานวนหลก) ใชสาหรบการปดคา

=Round(123.45,0) คนคา 123

=Round(123.45,1) คนคา 123.5

=Round(123.45,-1) คนคา 120

=Round(123.45,-2) คนคา 100

2. สตร =Trunc(ตวเลข, จานวนหลก) ใชสาหรบการตดคา

=Trunc(123.45,0) คนคา 123

=Trunc(123.45,1) คนคา 123.4 ตางจาก Round

 

3.

4.

วนทจ

ในหนาร

ขอใหเป

ชดซาย

Column

Column

เลขทเด

=Trunc(12

=Trunc(12

สตร =Int

=Int(1.23)

=Int(-1.23

สตร =Mo

=Mod(7,2)

=Mod(7,4)

=Mod(123

อมปลอม

รายงานของ

ปดแฟมของ

หรอชดขวา

n B หรอชด

n B เปนชอเ

ดอน หรอชอ

Cop

23.45,-1) ค

23.45,-2) ค

t(ตวเลข) ใ

) คนคา 1

3) คนคา -2

od(เลขต งต

) คนคา 1 เ

) คนคา 3 เ

3.45,1) คนค

งทกคน ตอง

คณขนมาด

ขอมลวนเด

ขวาของเซล

เดอนทชดซ

อเดอนเทาน

pyright of ww

คนคา 120

คนคา 100

ใชสาหรบปร

ต ง, เลขตวห

พราะ 7/2 เ

พราะ 7/4 เ

คาเทากบ .4

งมขอมลเกย

ซวาในเซลล

ดอนปของค

ลลเหมอนใน

ซายของเซล

นตามแบบท

145 

ww.ExcelExp

รบเปนตวเลข

หาร) ใชสา

ทยบเทากบ

ทยบเทากบ

45 !!!

ยวกบวนเดอ

ลทมขอมลแ

ณชดซายข

น Column

ลล ไมวาคณ

ทเหนในภาพ

pertTraining.c

ขจานวนเตม

หรบหาเศษ

บ 3 1/2

บ 1 3/4

อนปของราย

แสดงวนเดอ

องเซลลตา

C

ณจะบนทกไว

พน ถามนชด

com 

ม(ทนอยกวา

ษทเหลอจาก

ยงานนนกาก

อนป ถาไมได

มรปขางบนน

วเปนเพยงเล

ดซายเองโด

าคาเดม)

กการหาร

กบอยดวยเส

ดกาหนดรป

นเหมอนใน

ลขทวน หรอ

ดยคณไมได

สมอ

ปแบบให

อเฉพาะ

146 

 

Copyright of www.ExcelExpertTraining.com 

กาหนดใหมนชดซาย แสดงวาขอมลนนมคาเปน Text ซงไมมประโยชนในการนาขอมลไปใช

คานวณตอแมแตนอย อยางเชนเซลล B2 ทมคาวา Jan ไมไดใหรายละเอยดวาเปนวนทใดของ

เดอนมกราคมหรอเปนเดอนมกราคมของปใด คาวา Jan ทชดซายใหความหมายแตเพยงบอกวา

เปนเดอนมกราคมเทานน ซงหลายคนแกปญหาโดยการเพมเซลลบนทกเลขปลงไปอก

Column C เปนการบนทกแบบทถกตอง สงเกตวาชอเดอนชดขวาของเซลล และแมในเซลล

C2 แสดงคาวา Jan กตาม แตเมอมองทชอง Formula Bar ดานบน จะพบวามคาทแทจรงเปน

15/1/2010 ซงหากตองการใหแสดงชอเดอนตงแตเซลล C3 ตอๆกนไป ใหสรางสตร =C2+30

ลงไปในเซลล C3 แลว Copy สตรนตอลงไปในแนวตง จากนนใหกาหนด Format Cells ใน

Column C เปน [$-409]mmm จะทาใหคา 15/1/2010, 14/2/2010, 16/3/2010 แสดง

เฉพาะชอเดอน Jan, Feb, Mar ทชดขวาของเซลล

สาเหตทใชคาแรกในเซลล C2 เปนวนท 15 นนเพอชวยใหเราสามารถบวกเพมตอไปเซลลละ

30 วน เพอทาใหไดเดอนตอไปเพมทละเดอนไดงายกวาทจะเรมเซลลแรกเปนวนทส นเดอน ซง

ตองบวกเพมดวยจานวน 31 วน 30 วน 28-29 วนแตกตางกนไปในแตละเดอน

147 

 

Copyright of www.ExcelExpertTraining.com 

หลกการใชวนทและเวลา

1. ในการบนทก ใหพมพใหครบทงวนเดอนป อยาบนทกเฉพาะวนทหรอเฉพาะเดอนหรอเฉพาะ

ปเทานน โดยจะพมพสวนของเวลาตอทายดวยหรอไมกได เชน 14/2/2010 12:00

2. ใหบนทกโครงสรางของวนทลงไปในเซลลตามแบบทกาหนดไวใน Regional Setting ของ

Windows เชน ถากาหนดไวใน Regional Setting เปน Thai กตองบนทกวนทตามแบบของ

ประเทศไทยซงใชลาดบตามวนกอนเดอนกอนป แตถากาหนดใน Regional Setting เปน

USA กตองบนทกตามลาดบเดอนกอนวนกอนป

3. แมจะใช Regional Setting เปน Thai แตในการบนทกในสวนของเลขปตองใชปค.ศ.ในการ

บนทกเทานน จากนนใหใช Format ปรบการแสดงปค.ศ.ใหเปนปพ.ศ.ในภายหลง เชน ให

บนทก 14/2/2010 (หามใชปพ.ศ.แทนอยางเดดขาด) จากนนเมอตองการแสดงเปน

14/2/2553 ใหใช Format [$-1070000]d/mm/yyyy

4. ในโครงสรางของวนทใหพมพเครองหมาย / ในการแบงสวนของ วน/เดอน/ปค.ศ. และ

ในโครงสรางของเวลาใหพมพเครองหมาย : ในการแบงสวนของ ช วโมง:นาท:วนาท

5. ควรพมพเลขปค.ศ.ใหครบทง 4 หลกเสมอ แตถาจาเปนตองพมพแคสองหลกทาย พอกด

ป ม Enter เพอบนทกคาลงไป Excel จะเปลยนตวเลขป 2 หลกทาย ดงน

5.1. ตงแตเลข 00-29 ใหเปนชวงปค.ศ. 2000-2029

5.2. ตงแตเลข 30-99 ใหยอนกลบเปนชวงปค.ศ. 1930-1999

6. เมอบนทกวนทแลวตองชดขวาของเซลลเสมอ (สาเหตทชดขวาเพราะมคาเปนตวเลข) และ

ขอใหหลกเลยงการใชวนทแบบ Text ซงชดซายของเซลลเนองจาก Excel จะไมนา

Regional Setting มาชวยควบคมในการแบงสวนของวนเดอนปทใชแบบ Text

7. คาของวนทและเวลามชอเรยกวา Date Serial Number หรอเรยกวา Serial Number (SN)

โดย Excel ถอวา 1/1/1900 0:00:00 มคา SN=1 ซงเราสามารถแกะดคา SN ไดโดย

เปลยน Format เปน General (โดยการกดป ม Ctrl+Shift+ ~) เชน 14/2/2010

12:00:00 มคา SN เทากบ 40223.5

7.1. ในสวนของตวเลข SN สวนทเปนจานวนเตม คอ คาของวนท

7.2. ในสวนของตวเลข SN สวนทเปนเศษทศนยม คอ คาของเวลา

8. เวลาของ Excel เรมจาก 0:00:00-23:59:59 และใช Format h:mm:ss

9. ระยะเวลา เรมจาก 0:00:00 ขนไป โดยไมสนสดท 23:59:59

9.1. ใช Format [h]:mm:ss เพอแสดงเลขตงแต 24 ชวโมงขนไปได

148 

 

Copyright of www.ExcelExpertTraining.com 

9.2. ใช Format [mm]:ss เพอแสดงเลขตงแต 60 นาทขนไปได

9.3. ใช Format [ss] เพอแสดงเลขตงแต 60 วนาทขนไปได

10. ในการแสดงเวลาหรอระยะเวลา ถาคา SN < 1 จะใช Format ของเวลาหรอระยะเวลากได

แตถา SN >=1 ตองเลอกใช Format ของระยะเวลาเทานน

11. ถาตองการบนทกการทางานขามคน ไมควรบนทกเฉพาะเวลาเขาออกงาน แตใหบนทกวน

เดอนปกากบเวลาไวดวย เชน 14/2/2010 20:00 เพอทาให Excel รบรคาเปน SN ทมครบ

ทงสวนของวนทและเวลา

12. Format ในการแสดงวนและเวลา

12.1. แสดงเลขวนท ใช d หรอ dd

12.2. แสดงเปนชอวน แบบยอใช ddd หรอแบบเตม dddd

12.3. แสดงเปนเลขเดอน ใช m หรอ mm

12.4. แสดงเปนชอเดอน แบบยอใช mmm หรอแบบเตม mmmm

12.5. แสดงเปนเลขป ใช yy หรอ yyyy

12.6. แสดงชวโมง นาท วนาท ใช h:mm:ss หรอ hh:mm:ss

12.7. รหสควบคม Locale ใช [$-409] สาหรบ USA และ [$-1070000] สาหรบไทย

การคานวณวนทและเวลา

กอนทจะนาวนทและเวลามาคานวณได ตองเรมจากการตรวจสอบวาขอมลเกยวของกบวนทและ

เวลาซงถกบนทกไววามโครงสรางทถกตองตรงกบ Regional Setting หรอไม หากบนทกไวผด

เชน ใน Regional Setting กาหนดไวเปน USA แตคนทบนทกขอมลพมพวนทไวในแบบ

ประเทศไทย เชน พมพ 4/2/2001 ซงตองการบนทกแบบไทยใหหมายถงวนท 4 เดอน 2 ป

2001 จะพบวาเมอนาแฟมนนมาเปดบนเครองทม Regional Setting เปนไทย เลขทของวนจะ

สลบกบเลขทของเดอน จะแสดงเปน 2/4/2001 แทน ทาใหกาหนดเวลาทบนทกไวผดทงหมด

ถาไมเกงสตรเกยวของกบวนทและเวลากตองจดการพมพทบใหมทงหมด

นอกจากนตองตรวจสอบตอไปอกวา คาของวนทซ งบนทกไวเปนขอมลทมคาเปนตวเลข (Date

Serial Number หรอ SN) หรอไม โดยเรมจากยกเลกการจดชดซายชดขวาของเซลลวนท

ทงหมด หากพบวา ชดขวากใชได แตถาพบวาชดซายแสดงวามคาเปน Text ซงไมสามารถ

นามาคานวณตอไดในทนท จาเปนตองอาศยสตร Left, Right, Mid แยกตวเลขแตละสวนทเปน

วนเดอนปออกจากกนแลวใชสตรวนทและเวลามาชวยแกไขใหมคาเปน SN

149 

 

Copyright of www.ExcelExpertTraining.com 

หากคณอยากจะเกงสตรคานวณเรองวนทและเวลา ตองรจกสตรหา SN หรอสตรทสามารถ

แปลงเลขทของวนเดอนปทมนษยเขาใจไปเปนคา SN ท Excel รจก เชน สตร Now(),

Today(), Date(Year,Month,Day), Time(Hour,Minute,Second)

จากนนตองสามารถใชสตรแปลงคา SN กลบมาเปนเลขทของวนเดอนป เชน สตร Day(SN),

Month(SN), Year(SN), และ WeekDay(SN) หรอหาเลขทของเวลา เชน Hour(SN),

Minute(SN), Second(SN)

สตรแปลงเลขทของวนเดอนปและเวลาทมนษยเขาใจ

ไปเปนคา Serial Number

เพอชวยใหเขาใจสตรไดงายขน ขอสมมตวาปจจบน คอ วนท 14 เดอนกมภาพนธ ปค.ศ.

2010 เวลา 12 นาฬกา 30 นาท 45 วนาท

1. =NOW() จะไดวนเดอนปและเวลาปจจบน เชน 14/2/2010 12:30:45

2. =Today() จะไดเฉพาะวนเดอนปปจจบน เชน 14/2/2010

3. =Date(2010,2,14) จะได 14/2/2010

4. =Date( Year(Today()), Month(Today())+1, 0) จะไดวนเดอนปของวนสดทาย

ของเดอนปจจบน คอ 28/2/2010

5. =Time(12,30,45) จะไดเวลา 12:30:45

6. =Time(12,30,45)+1 จะไดระยะเวลา 36:30:45 ซงตองใช Format [h]:mm:ss ดวย

สตรแปลงคา Serial Number

กลบมาเปนเลขทของวนเดอนปและเวลาทมนษยเขาใจ

สมมตวาเซลล A1 มสตร =NOW() ซงแสดงออกมาเปน 14/2/2010 12:30:45 (ถาตองการ

แสดงคาออกมาเปน SN โดยการเปลยน Format เปน General จะพบวา เซลล A1 มคา SN

เทากบ 40223.5213541667 ซงเปนตวเลขท Excel รจกแตเราไมรจก)

1. =Day(A1) จะไดเลขวนท 14

2. =Month(A1) จะไดเลขเดอน 2

3. =Year(A1) จะไดเลขป 2010

150 

 

Copyright of www.ExcelExpertTraining.com 

4. =WeekDay(A1) จะไดเลขของวนในสปดาห 1=Sunday, 2=Tuesday,…7=Saturday

5. =Hour(A1) จะไดเลขชวโมง 12

6. =Minute(A1) จะไดเลขนาท 30

7. =Second(A1) จะไดเลขวนาท 45

151 

 

Copyright of www.ExcelExpertTraining.com 

หลกการกาหนด

Format Cells > Number

1. Excel ใชเครองหมาย # และ 0 แทนตาแหนงของตวเลข ซงถาใชเครองหมาย # แลว

ตวเลขมคาไมถงกจะไมแสดงเลขหลกนน แตถาใช 0 จะแสดงแทนดวยเลข 0 ออกมาให

เหน เชน ถาพมพตวเลข 1.2 ลงไป ถาใช Format ##.## จะแสดง 1.2 แตถาใช Format

00.00 จะแสดง 01.20 ดวยเหตนใน Format มาตรฐานท Excel เตรยมไว จะพบวาอยาง

นอยตวเลขหลกหนวยและหลกทศนยม จงกาหนดใหใชเลข 0 ไวเสมอ เชน #,##0.00

2. ดานหนาของ Format ทเปนเครองหมาย # หรอเลข 0 เราสามารถกาหนดสของ Font ได

โดยพมพชอสทตองการไวในเครองหมาย [ ] เชน [Red] หรอถาจาชอสไมได ใหใช

[Colorn] แทน โดย n คอเลขของสทตองการ เชน [Color12]

3. เครองหมายวงเลบ [ ] ยงใชในแบบเงอนไขเพอควบคมใหแสดงผลออกมาเฉพาะเมอตรง

กบเงอนไขทกาหนดไวในเครองหมาย [ ] เชน [>=90]00000.00 จะทาใหตวเลขทพมพลง

ไปในเซลลทใช Format น เฉพาะเมอมคามากกวาหรอเทากบ 90 ใหแสดงตวเลขใน

รปแบบ 00000.00

4. ใน Format สามารถแทรกสญลกษณหรอตวอกษรไวดานหนา ดานหลง หรอระหวาง

Format ทเปนเครองหมาย # หรอเลข 0

4.1. กรณแทรกสญลกษณ ใหพมพแทรกไดโดยตรง เชน (0 . 00) % มเครองหมายวงเลบ

เครองหมายวรรค จดทศนยม และ % เปนสญลกษณ

4.2. กรณแทรกตวอกษร ตองพมพตวอกษรไวระหวางเครองหมายคาพด เชน

“Total” 0.00 “บาท”

5. ถาตองการปดตวเลขใหเปนหลกพนใหเตมเครองหมายคอมมาตอทายหนงตว ถาตองการ

ปดเปนหลกลานใหเตมคอมมาตอทายสองตว เชน 0.00,, จะแสดงตวเลข 123456789 ท

บนทกลงไปออกมาเปน 123.46 โดยคาทแทจรงยงคงเทากบ 123456789 ตามเดม

6. ใหใชเครองหมาย ; ไดสงสด 3 ตว เพอควบคม Format ใหเปลยนตามคาบวก คาลบ คา

ศนย และคาทเปนตวอกษร ในโครงสรางตามน คาบวก;คาลบ;คาศนย;คาทเปนตวอกษร

6.1. ถาไมใสเครองหมาย ; เลย แสดงวาเปน Format กลางทใหตวเลขทกคาใช Format

นนรวมกน

6.2. หลงจากเครองหมาย ; ทเตมตอทายลงไป ถาใส ; ตวใด ตองตามดวย Format ของคา

นนๆ แตถาเราไมไดกาหนด Format ของนนๆไวดวย จงไมแสดงคาน นๆ

152 

 

Copyright of www.ExcelExpertTraining.com 

ตวอยางตอไปน สมมตวาคาทพมพลงไปในเซลลคอ 123, -123, 0, Hello

• Format ;;; จะไมแสดงอะไรใหเหนเลย

• Format 0.00 จะแสดง 123.00, -123.00, 0.00, Hello

• Format 0.00; จะแสดง 123.00, คาลบไมแสดง, 0.00, Hello

• Format 0.00;[Red](0.00) จะแสดง 123.00, (123.00) ในสแดง, 0.00, Hello

• Format 0.00;; จะแสดงเฉพาะคาบวก 123.00 กบ Hello เทานน คา ลบ และ 0 ไม

แสดง

• Format 0.00;;; จะแสดงเฉพาะคาบวก 123.00 เทานน

• Format 0.00;(0.00);; จะแสดงเฉพาะคาบวก123.00 กบคาลบ (123.00)

• Format “Yes”;”No”;”Reject”; จะแสดง Yes, No, Reject

• Format “Total” 0 “Baht”. 00 “Satang”;;; จะแสดง Total 123 Baht. 00 Satang

• Format 0.00_);(0.00);; จะแสดง 123.00 ไดแนวตรงกบคาลบ (123.00) โดย

เครองหมาย _) ทเตมตอทาย Format คาบวก หมายถง ใหหางจากขอบขวาของเซลล

เทากบความกวางของเครองหมาย )

ตวอยาง Format แปลกๆ

• Format [>=90]”A”;[>=70]”B”;”C” จะเปลยนตวเลขในเซลลตามเงอนไขวา

ถาคามากกวาหรอเทากบ 90 ใหแสดงตว A แทนตวเลขนน

ถาคามากกวาหรอเทากบ 70 ใหแสดงตว B แทนตวเลขนน

หรอมฉะนนใหแสดงตว C

• Format [=1]”Yes”;[=0]”No”;”Reject” จะแสดงคาวา Yes, No, Reject แทนตวเลขท

มคาเทากบ 1, 0, หรอตวเลขอน ตามลาดบ

• Format “4”;”4”;”4”;”4” จะเปลยนคาใหเปนเลข 4 แทนไมวาคาทแทจรงจะเปนเทาใด

• Format 0000 จะแสดงเลข 123 ออกมาเปน 0123 (ซงตวเลขยงคงมสถานะเปนตวเลข

ตามเดม ถกตองกวาการพมพ ‘0123 หรอใชคาสง Format Cells > Number > Text

ซงทาใหตวเลขเปลยนสถานะมาเปน Text ซงดงายๆวาจะชดซายของเซลล)

• หากตองการแทรกสญลกษณแปลกทไมมบนแปนพมพลงไปใน Format เชน

เครองหมายบวกลบ ± ใหกดป ม Alt คางไวแลวพมพตวเลข 0177 ซงสามารถคนหาตว

 

การใชค

คาทแท

กวางไม

Alignm

เหนไดใ

ประเดน

คาใหตา

หากตอ

รปแบบข

สมมตวา

15.0%

เลขทตองพ

พมพคาวา c

คาสง Forma

ทจรงยงคงถ

มพอจะเหนเ

ment > กา

ในเซลลนนเ

นเรอง Form

างไปจากเด

งการนาตวเ

ของตวเลขแ

า เซลล A1

ทาได 2 วธ

วธแรก ใชค

“Profit” 0.0

วธท สอง ส

Cop

พมพนไดจาก

charmap ล

at Cells >

อวาเปน Nu

ปนเครองหม

าชอง Shri

เสมอ

at นขอยาว

ดมแมแตนอย

เลขไปแสดง

แลวนาไปเช

มคาเทากบ

คาสง Form

0%

สรางสตร =”

pyright of ww

ก โปรแกรม

ลงไปในชอง

Number จะ

umber ทเหน

มาย ####

ink to fit เ

วา การใช Fo

งรวมกบตวอ

ชอมตอกบต

บ .15 หากต

mat Cells >

”Profit ”&T

153 

ww.ExcelExp

Character

งของคาสง S

ะชวยปรบกา

นไดจากการ

### แทน ซ

เพอทาให E

ormat เปนเ

อกษร ยงมอ

วอกษรทตอ

ตองการนาเล

Number >

Text(A1,”0.

pertTraining.c

r Map ซงสง

Start > Ru

ารแสดงตวเ

รชดขวาของ

ซงแกไดโด

Excel ปรบข

เพยงการเป

กวธหนง โด

องการโดยใ

ลข .15 ไปแ

> Custom แ

0%”)

com 

งเปดโปรแก

n

ลขใหมตวอ

งเซลล แตถ

ยสง Form

นาด Font ย

ลยนสงเหน

ดยใชสตร T

ชเครองหมา

แสดงใหเปน

แลวกาหนด

กรมนไดงาย

อกษรแทรก

ถาเซลลมคว

at Cells >

ยอลงใหแส

เทานน มได

Text เขามาช

าย & เปนตว

นคาวา Profi

Type เปน

ยๆโดย

โดย

วาม

>

ดงให

ดแกไข

ชวยปรบ

วเชอม

t

154 

 

Copyright of www.ExcelExpertTraining.com 

จะพบวาผลจากวธแรกไดคาวา Profit 15.0% ชดขวาของเซลลแสดงวาสามารถนาไปคานวณ

ตอได แตวธทสองแมจะไดคาเดยวกนแตจะชดซายของเซลลซงไมสามารถนาไปคานวณตอ จง

ขอแนะนาใหใชวธทสองกบผลลพธสดทายทไมตองนาไปใชคานวณตอเทานน

นอกจากนสตร Text ยงเปรยบไดกบสตร Round โดยสตร Text นจะปดตวเลขและแสดงตวเลข

ตามรปแบบใหดวย เชน =TEXT(123456789,"0.00,,") จะไดคาตอบเปน 123.46 และมคา

123.46 ดวย

155 

 

Copyright of www.ExcelExpertTraining.com 

วธใช Add-In

Add-In เปนแฟมทมนามสกล .xla หรอ .xlam ซงแฟมเหลานจะทาให Excel ทตดตงไวในแต

ละเครองมสตรหรอคาสงเพมขนมากกวาเดม ซงทกวนนเราสามารถนาแฟม Add-in ทแจกฟร

จากอนเตอรเนตมาใชกนไดทนท

1. เรมจาก Download แฟม Add-in มาเกบไวในเครองคอมพวเตอรของคณกอน

2. จากนนเปดโปรแกรม Excel แลวสง File > Options > Add-ins แลวคลกทป ม Go

ดานลางของหนา จะเปดใหเหนรายชอ Add-ins Available ทมาพรอมกบโปรกรม Excel

(Excel 2003 ใหสง Tools > Add-Ins)

3. กดป ม Browse คนหาแฟม Add-in ทคณเกบไวในเครองตามขอ 1 ใหพบแลวกดป ม OK

4. จะพบชอ Add-in ทคณเลอกปรากฏเพมในชองรายชอ Add-ins Available

ขอใหเลอกกาชอ Add-ins เฉพาะทตองการนามาใชงานเทานน เพราะการเปดใช Add-in ก

เหมอนกบการเปดแฟมทวไป เพยงแตเมอเปด Excel จะเปดแฟม Add-in ทเลอกไวตอใหเอง

แตจะไมเหนตวแฟมแตอยางใด ซง Add-in จะทาใหคณมสตรเพมเตมหรอทาใหมคาสงเพมท

จะเหนไดบนเมนกแลวแตแฟม Add-in นนสรางขนมาเพอจดประสงคใด

ขอแนะนาใหใช Expert2000.xla ซงเปน Add-in ทแจกใหใชในหลกสตรสดยอดเคลดลบ

โดยจะทาใหคณไดเมนชอ Expert และมคาสงเพมขน ทาหนาทเกยวของกบการปรบแตง

หนาจอเมอสรางงานเสรจแลว และยงทาใหมสตรตอไปนเพมเตม

• =Fml(cell) ทาหนาทแสดงสตรในเซลล

• =Fmt(cell) ทาหนาทแสดง Format ในเซลล

ถาเรยกใช Add-in ชอ Money.xla จะไดสตร =Money(ตวเลข,”ชอหนวยเงน”,”ชอหนวยเศษ

สตางค”) เชน =Money(1234.56,”Dollar”,”Cent”) จะอานตวเลขออกมาเปนคาวา One

Thousand Two Hundred Thirty Four Dollars and Fifty Six Cents

เนองจากสตรเหลานไมใชสตรทมาตามปกตของ Excel ดงนนหากเปดแฟมทใชสตร Fml ขนมา

โดยทยงไมไดเรยกใช Expert2000.xla จะทาใหสตรเหลานกลายเปน Error วา #NAME!

ทงหมด ซงแกไขไดโดยทาการตดตง Add-in Expert2000.xla กอนแลวจงตามดวยการเปด

156 

 

Copyright of www.ExcelExpertTraining.com 

แฟมทมสตรเหลานตอ แตถาพบวาสตรยงคง Error อย ใหคลกทเซลลสตรแลวกดป ม F2 แลว

กดป ม Enter เพอกระตนใหสตรเรมทางานตอไปไดตามปกต

157 

 

Copyright of www.ExcelExpertTraining.com 

Function VBA

แทนทจะตองสรางสตรซงมขนตอนการคานวณยาวเหยยดซาแลวซาอกลงไปในตาราง

Function VBA เปนทางออกทจะชวยทาใหเกดสตรลดขนมาใชงานในแฟม

วธสราง Function VBA

1. เปด Visual Basic Editor โดยกดป ม Alt+F11

2. ใชเมนคาสง Insert > Module เพอเปดพนทจดเกบรหส

3. copy รหสทตองการ โดยเลอกชวงตงแตบรรทด Function ถงบรรทด End Function

4. paste รหสท copy ไวนนลงใน module ทตองการ

5. ใน Module หนงๆ จะใชเกบ Function ไดไมจากด ใหเรยง Function ตอกนไปเรอยๆ

6. สง File > Save โดยกาหนดนามสกลแฟม xlsm

วธใช Function VBA

ใชสตรเชนเดยวกบสตรทวไปอนๆ หากใชคาสง Formulas > Insert Function หรอคลกทป ม

Fx บน Formula Bar จะพบสตร VBA Function รวมไวในกลม Function category : User

Defined และแสดงรปแบบสตรในจอดานขวาและดานลาง

 

1

Fu

En

2

Fu

En

Fu

unction Ge

GetForma

nd Functio

แสดงรป

unction Ge

GetFormu

nd Functio

unction Ge

If VarType

GetFormu

Cop

tFormat(ce

t = cell.Nu

n

แบบทใชใน

tFormula(C

la = Cell.F

n

tFormulaI(

e(cell) = 8

ulaI = "'" &

pyright of ww

ell)

umberForm

นเซลล

Cell)

Formula

(cell)

Then

& cell.form

158 

ww.ExcelExp

mat

ula

pertTraining.ccom 

159 

 

Copyright of www.ExcelExpertTraining.com 

Else

GetFormulaI = cell.formula

End If

If cell.HasArray Then _

GetFormulaI = "{" & cell.formula & "}"

End Function

แสดงสตรทใชในเซลล

3

Function FormulaText(cell_ref)

'Allow formula to be updated if changes are made on the sheet

Application.Volatile

'Test for reference style in use

If Application.ReferenceStyle = xlA1 Then

'Set the return value of the function to the A1 style formula

FormulaText = cell_ref.Formula

Else ' xlR1C1 --Set the return value of the function to the R1C1 style

formula

FormulaText = cell_ref.FormulaR1C1

End If

End Function

แสดงสตรทใชในเซลล ทงแบบปกตหรอแบบ R1C1

4 Function FUNCTION_DEF(FCELL As Variant)As Variant

160 

 

Copyright of www.ExcelExpertTraining.com 

'Let's make sure the function

'recalculates when required

Application.Volatile

'If the argument is not a range

'then return appropriate error.

If Not TypeName(FCELL) = "Range" Then

FUNCTION_DEF = CVErr(xlErrRef)

Exit Function

End If

'If the argument is not a single

'cell then return appropriate error.

If Not FCELL.Cells.Count = 1 Then

FUNCTION_DEF = CVErr(xlErrRef)

Exit Function

End If

'If the argument cell contains no

'formula, then just return its value

If Not FCELL.HasFormula Then

FUNCTION_DEF = FCELL.Value

Exit Function

End If

'Find out the format of the formula

'we need to return...

Select Case Application.ReferenceStyle

Case xlA1

161 

 

Copyright of www.ExcelExpertTraining.com 

FUNCTION_DEF = FCELL.Formula

Case xlR1C1

FUNCTION_DEF = FCELL.FormulaR1C1

End Select

'Finally check whether we are looking at a cell

'containing an array function.

If FCELL.HasArray Then _

FUNCTION_DEF = "{" & FUNCTION_DEF & "}"

End Function

แสดงสตรในเซลล

5

Option Explicit

Function DATEDIFF(d1, d2) As Variant

Dim YearDiff As Integer

Dim MonthDiff As Integer

Dim DayDiff As Integer

Dim temp As Date

' Swap arguments, if necessary

If d1 > d2 Then

temp = d1

d1 = d2

d2 = temp

End If

162 

 

Copyright of www.ExcelExpertTraining.com 

' Do the year part

YearDiff = Year(d2) - Year(d1)

If DateSerial(Year(d2), Month(d1), Day(d1)) > d2 _

Then YearDiff = YearDiff - 1

' Do the month part

If Month(d2) > Month(d1) Then

If Day(d2) >= Day(d1) Then

MonthDiff = Month(d2) - Month(d1)

Else

MonthDiff = Month(d2) - Month(d1) - 1

End If

Else

If Day(d2) >= Day(d1) Then

MonthDiff = Month(d2) - Month(d1) + 12

If MonthDiff = 12 Then MonthDiff = 0

Else

MonthDiff = Month(d2) - Month(d1) + 11

End If

End If

' Do the day part

If Day(d2) >= Day(d1) Then

DayDiff = Day(d2) - Day(d1)

Else

DayDiff = Day(DateSerial(Year(d1), _

Month(d1) + 1, 1) - 1) - Day(d1) + Day(d2)

End If

' Create the variant array to be returned

163 

 

Copyright of www.ExcelExpertTraining.com 

DATEDIFF = Array(YearDiff, MonthDiff, DayDiff)

End Function

แสดงระยะเวลาระหวางชวงเวลาทกาหนด

www.j-walk.com\ss\excel\tips\tip55.htm

6

Function Age(TheDate As Double) As String

Age = _

CStr(Evaluate("=DATEDIF(" & TheDate & "," & CDbl(Now) & ",""y"")"))

& " years " & _

CStr(Evaluate("=DATEDIF(" & TheDate & "," & CDbl(Now) &

",""ym"")")) & " months " & _

CStr(Evaluate("=DATEDIF(" & TheDate & "," & CDbl(Now) &

",""md"")")) & " days"

End Function

แสดงระยะเวลาระหวางชวงเวลาทกาหนดเปนประโยครวม

7

Function OrdDate(arg)

dd = Day(arg)

mmmm = Format(arg, "mmmm") '*Corrected*

yyyy = Year(arg)

Select Case Day(arg)

Case 1, 21, 31

164 

 

Copyright of www.ExcelExpertTraining.com 

OrdDate = dd & "st " & mmmm & ", " & yyyy

Case 2, 22

OrdDate = dd & "nd " & mmmm & ", " & yyyy

Case 3, 23

OrdDate = dd & "rd " & mmmm & ", " & yyyy

Case 4 To 20, 24 To 30

OrdDate = dd & "th " & mmmm & ", " & yyyy

End Select

End Function

แปลงวนทใหมคาตอทาย st nd rd th

8

Function SheetName() As String

SheetName = Application.Caller.Parent.Name 'in XL97

End Function

แสดงชอ sheet

9

Function CellType(c)

' Returns the cell type of the upper left

' cell in a range

Application.Volatile

165 

 

Copyright of www.ExcelExpertTraining.com 

Set c = c.Range("A1")

Select Case True

Case IsEmpty(c): CellType = "Blank"

Case Application.IsText(c): CellType = "Text"

Case Application.IsLogical(c): CellType = "Logical"

Case Application.IsErr(c): CellType = "Error"

Case IsDate(c): CellType = "Date"

Case InStr(1, c.Text, ":") <> 0: CellType = "Time"

Case IsNumeric(c): CellType = "Value"

End Select

End Function

แสดงประเภทของคาในเซลล

10

Function CellValue(c) As Double

'John Walkenbach 2001-04-25

' misc returns number part

CellValue = Val(c)

End Function

แสดงคาเปนตวเลข

166 

 

Copyright of www.ExcelExpertTraining.com 

11

Function HasFormula(cell)

HasFormula = cell.HasFormula

End Function

ตรวจสอบวา มสตรหรอไม

12

Function UseFormula(cell)

'-- Usage: Not recommended, see notes

UseFormula = Application.Evaluate(cell.formula)

End Function

Function UseFormula2(cell)

'Documented in

http://www.geocities.com/davemcritchie/excel/formula.htm

' UseFormula Jul 20, 1998, UseFormula2 Jun 13, 2000

'Application.Volatile = True -- DO NOT DO THIS

If Trim(cell.Value) = "" Then

UseFormula2 = ""

Exit Function

ElseIf Left(cell.Value, 1) = "=" Then

UseFormula2 = Application.Evaluate(cell.Formula)

Exit Function

Else

167 

 

Copyright of www.ExcelExpertTraining.com 

UseFormula2 = "'#bad formula"

End If

End Function

แปลงสตรทเปนตวอกษร ใหเปนสตรทใชงานได

13

Function fontinfo(cell As Range) As String

fontinfo = cell.FONT.Name & " -- " & cell.FONT.Size

If Left(cell.FONT.FontStyle, 7) = "Regular" Then

fontinfo = Trim(fontinfo & Mid(cell.FONT.FontStyle, 8, 100))

Else

fontinfo = Trim(fontinfo & " " & cell.FONT.FontStyle)

End If

End Function

แสดงรายละเอยดของ font ทใช

14

Function SumByColor(InputRange As Range, ColorRange As Range) As

Double

Dim cl As Range, TempSum As Double, ColorIndex As Integer

ColorIndex = ColorRange.Cells(1, 1).Interior.ColorIndex

TempSum = 0

On Error Resume Next ' ignore cells without values

168 

 

Copyright of www.ExcelExpertTraining.com 

For Each cl In InputRange.Cells

If cl.Interior.ColorIndex = ColorIndex Then TempSum = TempSum +

cl.Value

Next cl

On Error GoTo 0

Set cl = Nothing

SumByColor = TempSum

End Function

หายอดรวมตามสทใช www.erlandsendata.no

15

Function CountByColor(InputRange As Range, ColorRange as Range) As

Long

Dim cl As Range, TempCount As Long, ColorIndex As Integer

ColorIndex = ColorRange.Cells(1, 1).Interior.ColorIndex

TempCount = 0

For Each cl In InputRange.Cells

If cl.Interior.ColorIndex = ColorIndex Then TempCount =

TempCount + 1

Next cl

Set cl = Nothing

CountByColor = TempCount

End Function

169 

 

Copyright of www.ExcelExpertTraining.com 

นบจานวนตามสทใช

16

Function WEEKNR(InputDate As Long) As Integer

Dim A As Integer, B As Integer, C As Long, D As Integer

WEEKNR = 0

If InputDate < 1 Then Exit Function

A = Weekday(InputDate, vbSunday)

B = Year(InputDate + ((8 - A) Mod 7) - 3)

C = CDate("1.1." & B)

D = (Weekday(C, vbSunday) + 1) Mod 7

WEEKNR = Int((InputDate - C - 3 + D) / 7) + 1

End Function

คนคาเปนเลขทสปดาห www.erlandsendata.no

17

Function UniqueItem(InputRange As Range, ItemNo As Long) As Variant

Dim cl As Range, cUnique As New Collection, cValue As Variant

Application.Volatile

On Error Resume Next

For Each cl In InputRange

170 

 

Copyright of www.ExcelExpertTraining.com 

If cl.Formula <> "" Then

cUnique.Add cl.Value, CStr(cl.Value)

End If

Next cl

UniqueItem = ""

If ItemNo = 0 Then

UniqueItem = cUnique.Count

Else

If ItemNo <= cUnique.Count Then

UniqueItem = cUnique(ItemNo)

End If

End If

On Error GoTo 0

End Function

แสดงคา unique values

=UniqueItem(A1:A100,2) แสดงคา the 2nd unique value

=UniqueItem(A1:A100,0) แสดงจานวน unique values

18 Function INDEXN(InputRange As Range, N As Integer) As Variant

171 

 

Copyright of www.ExcelExpertTraining.com 

' returns every N-th item from InputRange

' select the desired target range for the function and

' enter as an array function with Ctrl+Shift+Enter.

Dim ItemList() As Variant, c As Range, i As Long, iCount As Long

i = 0

iCount = 0

ReDim ItemList(1 To InputRange.Cells.Count \ N)

For Each c In InputRange

i = i + 1

If i Mod N = 0 Then

iCount = iCount + 1

On Error Resume Next

ItemList(iCount) = c.Value

On Error GoTo 0

End If

Next c

INDEXN = ItemList

If InputRange.Rows.Count >= InputRange.Columns.Count Then

INDEXN = Application.WorksheetFunction.Transpose(INDEXN)

172 

 

Copyright of www.ExcelExpertTraining.com 

End If

Erase ItemList

End Function

แสดงคาทอยในลาดบท n

19

Sub FindUniqueValues(SourceRange As Range, TargetCell As Range)

SourceRange.AdvancedFilter Action:=xlFilterCopy,

CopyToRange:=TargetCell, Unique:=True

End Sub

แยก unique items ออกมาสรป

20

Function TimeInterval(StartTime As Double, EndTime As Double, _

LowerLimit As Double, UpperLimit As Double) As Double

' returns EndTime-StartTime limited by LowerLimit and UpperLimit

TimeInterval = 0

If StartTime > EndTime Then Exit Function

If StartTime > UpperLimit Then Exit Function

If EndTime < LowerLimit Then Exit Function

If StartTime < LowerLimit Then StartTime = LowerLimit

173 

 

Copyright of www.ExcelExpertTraining.com 

If EndTime > UpperLimit Then EndTime = UpperLimit

TimeInterval = EndTime - StartTime

End Function

ระยะเวลาระหวางชวง

21

Option Explicit

'****************

' Main Function *

'****************

Function BahtEng(ByVal MyNumber)

Dim Baht, Satang, Temp

Dim DecimalPlace, Count

ReDim Place(9) As String

Place(2) = " Thousand "

Place(3) = " Million "

Place(4) = " Billion "

Place(5) = " Trillion "

' String representation of amount

MyNumber = Trim(Str(MyNumber))

' Position of decimal place 0 if none

DecimalPlace = InStr(MyNumber, ".")

'Convert Satang and set MyNumber to Baht amount

If DecimalPlace > 0 Then

174 

 

Copyright of www.ExcelExpertTraining.com 

Satang = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))

MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

End If

Count = 1

Do While MyNumber <> ""

Temp = GetHundreds(Right(MyNumber, 3))

If Temp <> "" Then Baht = Temp & Place(Count) & Baht

If Len(MyNumber) > 3 Then

MyNumber = Left(MyNumber, Len(MyNumber) - 3)

Else

MyNumber = ""

End If

Count = Count + 1

Loop

Select Case Baht

Case ""

Baht = "No Baht"

Case "One"

Baht = "One Baht"

Case Else

Baht = Baht & " Baht"

End Select

Select Case Satang

Case ""

Satang = " and No Satang"

Case "One"

Satang = " and One Satang"

175 

 

Copyright of www.ExcelExpertTraining.com 

Case Else

Satang = " and " & Satang & " Satang"

End Select

BahtEng = Baht & Satang

End Function

'*******************************************

' Converts a number from 100-999 into text *

'*******************************************

Private Function GetHundreds(ByVal MyNumber)

Dim Result As String

If Val(MyNumber) = 0 Then Exit Function

MyNumber = Right("000" & MyNumber, 3)

'Convert the hundreds place

If Mid(MyNumber, 1, 1) <> "0" Then

Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "

End If

'Convert the tens and ones place

If Mid(MyNumber, 2, 1) <> "0" Then

Result = Result & GetTens(Mid(MyNumber, 2))

Else

Result = Result & GetDigit(Mid(MyNumber, 3))

End If

GetHundreds = Result

End Function

176 

 

Copyright of www.ExcelExpertTraining.com 

'*********************************************

' Converts a number from 10 to 99 into text. *

'*********************************************

Private Function GetTens(TensText)

Dim Result As String

Result = "" 'null out the temporary function value

If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19

Select Case Val(TensText)

Case 10: Result = "Ten"

Case 11: Result = "Eleven"

Case 12: Result = "Twelve"

Case 13: Result = "Thirteen"

Case 14: Result = "Fourteen"

Case 15: Result = "Fifteen"

Case 16: Result = "Sixteen"

Case 17: Result = "Seventeen"

Case 18: Result = "Eighteen"

Case 19: Result = "Nineteen"

Case Else

End Select

Else ' If value between 20-99

Select Case Val(Left(TensText, 1))

Case 2: Result = "Twenty "

Case 3: Result = "Thirty "

Case 4: Result = "Forty "

Case 5: Result = "Fifty "

Case 6: Result = "Sixty "

Case 7: Result = "Seventy "

177 

 

Copyright of www.ExcelExpertTraining.com 

Case 8: Result = "Eighty "

Case 9: Result = "Ninety "

Case Else

End Select

Result = Result & GetDigit _

(Right(TensText, 1)) 'Retrieve ones place

End If

GetTens = Result

End Function

'*******************************************

' Converts a number from 1 to 9 into text. *

'*******************************************

Private Function GetDigit(Digit)

Select Case Val(Digit)

Case 1: GetDigit = "One"

Case 2: GetDigit = "Two"

Case 3: GetDigit = "Three"

Case 4: GetDigit = "Four"

Case 5: GetDigit = "Five"

Case 6: GetDigit = "Six"

Case 7: GetDigit = "Seven"

Case 8: GetDigit = "Eight"

Case 9: GetDigit = "Nine"

Case Else: GetDigit = ""

End Select

End Function

สตรแปลงตวเลขเปนคาอาน

178 

 

Copyright of www.ExcelExpertTraining.com 

22

Option Explicit

'****************

' Main Function *

'****************

Function BahtOnly(ByVal MyNumber)

Dim Baht, Satang, Temp

Dim DecimalPlace, Count

ReDim Place(9) As String

Place(2) = " Thousand "

Place(3) = " Million "

Place(4) = " Billion "

Place(5) = " Trillion "

' String representation of amount

MyNumber = Trim(Str(MyNumber))

' Position of decimal place 0 if none

DecimalPlace = InStr(MyNumber, ".")

'Convert Satang and set MyNumber to Baht amount

If DecimalPlace > 0 Then

Satang = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))

MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

End If

Count = 1

Do While MyNumber <> ""

Temp = GetHundreds(Right(MyNumber, 3))

179 

 

Copyright of www.ExcelExpertTraining.com 

If Temp <> "" Then Baht = Temp & Place(Count) & Baht

If Len(MyNumber) > 3 Then

MyNumber = Left(MyNumber, Len(MyNumber) - 3)

Else

MyNumber = ""

End If

Count = Count + 1

Loop

Select Case Baht

Case ""

Baht = "No Baht"

Case "One"

Baht = "One Baht"

Case Else

Baht = Baht & " Baht"

End Select

Select Case Satang

Case ""

Satang = " Only"

Case "One"

Satang = " and One Satang"

Case Else

Satang = " and " & Satang & " Satang"

End Select

BahtOnly = Baht & Satang

End Function

180 

 

Copyright of www.ExcelExpertTraining.com 

'*******************************************

' Converts a number from 100-999 into text *

'*******************************************

Private Function GetHundreds(ByVal MyNumber)

Dim Result As String

If Val(MyNumber) = 0 Then Exit Function

MyNumber = Right("000" & MyNumber, 3)

'Convert the hundreds place

If Mid(MyNumber, 1, 1) <> "0" Then

Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "

End If

'Convert the tens and ones place

If Mid(MyNumber, 2, 1) <> "0" Then

Result = Result & GetTens(Mid(MyNumber, 2))

Else

Result = Result & GetDigit(Mid(MyNumber, 3))

End If

GetHundreds = Result

End Function

'*********************************************

' Converts a number from 10 to 99 into text. *

'*********************************************

Private Function GetTens(TensText)

Dim Result As String

181 

 

Copyright of www.ExcelExpertTraining.com 

Result = "" 'null out the temporary function value

If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19

Select Case Val(TensText)

Case 10: Result = "Ten"

Case 11: Result = "Eleven"

Case 12: Result = "Twelve"

Case 13: Result = "Thirteen"

Case 14: Result = "Fourteen"

Case 15: Result = "Fifteen"

Case 16: Result = "Sixteen"

Case 17: Result = "Seventeen"

Case 18: Result = "Eighteen"

Case 19: Result = "Nineteen"

Case Else

End Select

Else ' If value between 20-99

Select Case Val(Left(TensText, 1))

Case 2: Result = "Twenty "

Case 3: Result = "Thirty "

Case 4: Result = "Forty "

Case 5: Result = "Fifty "

Case 6: Result = "Sixty "

Case 7: Result = "Seventy "

Case 8: Result = "Eighty "

Case 9: Result = "Ninety "

Case Else

End Select

Result = Result & GetDigit _

(Right(TensText, 1)) 'Retrieve ones place

End If

182 

 

Copyright of www.ExcelExpertTraining.com 

GetTens = Result

End Function

'*******************************************

' Converts a number from 1 to 9 into text. *

'*******************************************

Private Function GetDigit(Digit)

Select Case Val(Digit)

Case 1: GetDigit = "One"

Case 2: GetDigit = "Two"

Case 3: GetDigit = "Three"

Case 4: GetDigit = "Four"

Case 5: GetDigit = "Five"

Case 6: GetDigit = "Six"

Case 7: GetDigit = "Seven"

Case 8: GetDigit = "Eight"

Case 9: GetDigit = "Nine"

Case Else: GetDigit = ""

End Select

End Function

สตรแปลงตวเลขเปนคาอาน

23

Option Explicit

'****************

' Main Function *

'****************

Function Money(ByVal MyNumber, UnitName1, UnitName2)

183 

 

Copyright of www.ExcelExpertTraining.com 

Dim KeyUnit1, KeyUnit2, Temp

Dim DecimalPlace, Count

ReDim Place(9) As String

Place(2) = " Thousand "

Place(3) = " Million "

Place(4) = " Billion "

Place(5) = " Trillion "

' String representation of amount

MyNumber = Trim(Str(MyNumber))

' Position of decimal place 0 if none

DecimalPlace = InStr(MyNumber, ".")

'Convert KeyUnit2 and set MyNumber to KeyUnit1 amount

If DecimalPlace > 0 Then

KeyUnit2 = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))

MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

End If

Count = 1

Do While MyNumber <> ""

Temp = GetHundreds(Right(MyNumber, 3))

If Temp <> "" Then KeyUnit1 = Temp & Place(Count) & KeyUnit1

If Len(MyNumber) > 3 Then

MyNumber = Left(MyNumber, Len(MyNumber) - 3)

Else

MyNumber = ""

End If

Count = Count + 1

184 

 

Copyright of www.ExcelExpertTraining.com 

Loop

Select Case KeyUnit1

Case ""

KeyUnit1 = "No " & UnitName1

Case "One"

KeyUnit1 = "One " & UnitName1

Case Else

KeyUnit1 = KeyUnit1 & " " & UnitName1 & "s"

End Select

Select Case KeyUnit2

Case ""

KeyUnit2 = " Only"

Case "One"

KeyUnit2 = " and One " & " " & UnitName2

Case Else

KeyUnit2 = " and " & KeyUnit2 & " " & UnitName2 & "s"

End Select

Money = KeyUnit1 & KeyUnit2

End Function

'*******************************************

' Converts a number from 100-999 into text *

'*******************************************

Private Function GetHundreds(ByVal MyNumber)

Dim Result As String

If Val(MyNumber) = 0 Then Exit Function

185 

 

Copyright of www.ExcelExpertTraining.com 

MyNumber = Right("000" & MyNumber, 3)

'Convert the hundreds place

If Mid(MyNumber, 1, 1) <> "0" Then

Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "

End If

'Convert the tens and ones place

If Mid(MyNumber, 2, 1) <> "0" Then

Result = Result & GetTens(Mid(MyNumber, 2))

Else

Result = Result & GetDigit(Mid(MyNumber, 3))

End If

GetHundreds = Result

End Function

'*********************************************

' Converts a number from 10 to 99 into text. *

'*********************************************

Private Function GetTens(TensText)

Dim Result As String

Result = "" 'null out the temporary function value

If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19

Select Case Val(TensText)

Case 10: Result = "Ten"

Case 11: Result = "Eleven"

Case 12: Result = "Twelve"

Case 13: Result = "Thirteen"

186 

 

Copyright of www.ExcelExpertTraining.com 

Case 14: Result = "Fourteen"

Case 15: Result = "Fifteen"

Case 16: Result = "Sixteen"

Case 17: Result = "Seventeen"

Case 18: Result = "Eighteen"

Case 19: Result = "Nineteen"

Case Else

End Select

Else ' If value between 20-99

Select Case Val(Left(TensText, 1))

Case 2: Result = "Twenty "

Case 3: Result = "Thirty "

Case 4: Result = "Forty "

Case 5: Result = "Fifty "

Case 6: Result = "Sixty "

Case 7: Result = "Seventy "

Case 8: Result = "Eighty "

Case 9: Result = "Ninety "

Case Else

End Select

Result = Result & GetDigit _

(Right(TensText, 1)) 'Retrieve ones place

End If

GetTens = Result

End Function

'*******************************************

' Converts a number from 1 to 9 into text. *

'*******************************************

Private Function GetDigit(Digit)

187 

 

Copyright of www.ExcelExpertTraining.com 

Select Case Val(Digit)

Case 1: GetDigit = "One"

Case 2: GetDigit = "Two"

Case 3: GetDigit = "Three"

Case 4: GetDigit = "Four"

Case 5: GetDigit = "Five"

Case 6: GetDigit = "Six"

Case 7: GetDigit = "Seven"

Case 8: GetDigit = "Eight"

Case 9: GetDigit = "Nine"

Case Else: GetDigit = ""

End Select

End Function

สตรแปลงตวเลขเปนคาอาน

24

Option Explicit

'****************

' Main Function *

'****************

Function UnitText(ByVal MyNumber, UnitName1, UnitName2)

Dim KeyUnit1, KeyUnit2, Temp

Dim DecimalPlace, Count

ReDim Place(9) As String

Place(2) = " Thousand "

Place(3) = " Million "

Place(4) = " Billion "

188 

 

Copyright of www.ExcelExpertTraining.com 

Place(5) = " Trillion "

' String representation of amount

MyNumber = Trim(Str(MyNumber))

' Position of decimal place 0 if none

DecimalPlace = InStr(MyNumber, ".")

'Convert KeyUnit2 and set MyNumber to KeyUnit1 amount

If DecimalPlace > 0 Then

KeyUnit2 = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))

MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

End If

Count = 1

Do While MyNumber <> ""

Temp = GetHundreds(Right(MyNumber, 3))

If Temp <> "" Then KeyUnit1 = Temp & Place(Count) & KeyUnit1

If Len(MyNumber) > 3 Then

MyNumber = Left(MyNumber, Len(MyNumber) - 3)

Else

MyNumber = ""

End If

Count = Count + 1

Loop

Select Case KeyUnit1

Case ""

KeyUnit1 = "No " & UnitName1

Case "One"

KeyUnit1 = "One " & UnitName1

189 

 

Copyright of www.ExcelExpertTraining.com 

Case Else

KeyUnit1 = KeyUnit1 & " " & UnitName1 & "" 'without s

End Select

Select Case KeyUnit2

Case ""

KeyUnit2 = " Only"

Case "One"

KeyUnit2 = " and One " & " " & UnitName2

Case Else

KeyUnit2 = " and " & KeyUnit2 & " " & UnitName2 & "" 'without s

End Select

UnitText = KeyUnit1 & KeyUnit2

End Function

'*******************************************

' Converts a number from 100-999 into text *

'*******************************************

Private Function GetHundreds(ByVal MyNumber)

Dim Result As String

If Val(MyNumber) = 0 Then Exit Function

MyNumber = Right("000" & MyNumber, 3)

'Convert the hundreds place

If Mid(MyNumber, 1, 1) <> "0" Then

Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "

End If

190 

 

Copyright of www.ExcelExpertTraining.com 

'Convert the tens and ones place

If Mid(MyNumber, 2, 1) <> "0" Then

Result = Result & GetTens(Mid(MyNumber, 2))

Else

Result = Result & GetDigit(Mid(MyNumber, 3))

End If

GetHundreds = Result

End Function

'*********************************************

' Converts a number from 10 to 99 into text. *

'*********************************************

Private Function GetTens(TensText)

Dim Result As String

Result = "" 'null out the temporary function value

If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19

Select Case Val(TensText)

Case 10: Result = "Ten"

Case 11: Result = "Eleven"

Case 12: Result = "Twelve"

Case 13: Result = "Thirteen"

Case 14: Result = "Fourteen"

Case 15: Result = "Fifteen"

Case 16: Result = "Sixteen"

Case 17: Result = "Seventeen"

Case 18: Result = "Eighteen"

Case 19: Result = "Nineteen"

Case Else

191 

 

Copyright of www.ExcelExpertTraining.com 

End Select

Else ' If value between 20-99

Select Case Val(Left(TensText, 1))

Case 2: Result = "Twenty "

Case 3: Result = "Thirty "

Case 4: Result = "Forty "

Case 5: Result = "Fifty "

Case 6: Result = "Sixty "

Case 7: Result = "Seventy "

Case 8: Result = "Eighty "

Case 9: Result = "Ninety "

Case Else

End Select

Result = Result & GetDigit _

(Right(TensText, 1)) 'Retrieve ones place

End If

GetTens = Result

End Function

'*******************************************

' Converts a number from 1 to 9 into text. *

'*******************************************

Private Function GetDigit(Digit)

Select Case Val(Digit)

Case 1: GetDigit = "One"

Case 2: GetDigit = "Two"

Case 3: GetDigit = "Three"

Case 4: GetDigit = "Four"

Case 5: GetDigit = "Five"

Case 6: GetDigit = "Six"

192 

 

Copyright of www.ExcelExpertTraining.com 

Case 7: GetDigit = "Seven"

Case 8: GetDigit = "Eight"

Case 9: GetDigit = "Nine"

Case Else: GetDigit = ""

End Select

End Function

สตรแปลงตวเลขเปนคาอาน

25

Option Explicit

Function NetYMD(Day1 As Date, Day2 As Date) As String

Dim years, months, days, m

years = Year(Day2) - Year(Day1)

If Month(Day1) > Month(Day2) Then

years = years - 1

End If

If Month(Day2) < Month(Day1) Then

months = 12 - Month(Day1) + Month(Day2)

Else

months = Month(Day2) - Month(Day1)

End If

If Day(Day2) < Day(Day1) Then

months = months - 1

If Month(Day2) = Month(Day1) Then

years = years - 1

193 

 

Copyright of www.ExcelExpertTraining.com 

months = 11

End If

End If

days = Day(Day2) - Day(Day1)

If days < 0 Then

m = CInt(Month(Day2)) - 1

If m = 0 Then m = 12

Select Case m

Case 1, 3, 5, 7, 8, 10, 12

days = 31 + days

Case 4, 6, 9, 11

days = 30 + days

Case 2

If (Year(Day2) Mod 4 = 0 And Year(Day2) _

Mod 100 <> 0) Or Year(Day2) Mod 400 = 0 Then

days = 29 + days

Else

days = 28 + days

End If

End Select

End If

NetYMD = CStr(years) + " years " + CStr(months) _

+ " months " + CStr(days) + " days "

End Function

Function NetYear(Day1 As Date, Day2 As Date) As String

Dim years, months, days, m

years = Year(Day2) - Year(Day1)

194 

 

Copyright of www.ExcelExpertTraining.com 

If Month(Day1) > Month(Day2) Then

years = years - 1

End If

NetYear = CStr(years)

End Function

Function NetMonth(Day1 As Date, Day2 As Date) As String

Dim years, months, days, m

If Month(Day2) < Month(Day1) Then

months = 12 - Month(Day1) + Month(Day2)

Else

months = Month(Day2) - Month(Day1)

End If

If Day(Day2) < Day(Day1) Then

months = months - 1

If Month(Day2) = Month(Day1) Then

years = years - 1

months = 11

End If

End If

NetMonth = CStr(months)

End Function

Function NetDay(Day1 As Date, Day2 As Date) As String

Dim years, months, days, m

195 

 

Copyright of www.ExcelExpertTraining.com 

days = Day(Day2) - Day(Day1)

If days < 0 Then

m = CInt(Month(Day2)) - 1

If m = 0 Then m = 12

Select Case m

Case 1, 3, 5, 7, 8, 10, 12

days = 31 + days

Case 4, 6, 9, 11

days = 30 + days

Case 2

If (Year(Day2) Mod 4 = 0 And Year(Day2) _

Mod 100 <> 0) Or Year(Day2) Mod 400 = 0 Then

days = 29 + days

Else

days = 28 + days

End If

End Select

End If

NetDay = CStr(days)

End Function

สตรคานวณระยะเวลา

26 Function PersonalTax(TaxableIncome)

Const UpperRange0 = 50000

196 

 

Copyright of www.ExcelExpertTraining.com 

Const UpperRange1 = 100000

Const UpperRange2 = 500000

Const UpperRange3 = 1000000

Const UpperRange4 = 4000000

Const TaxRate0 = 0

Const TaxRate1 = 0.05

Const TaxRate2 = 0.1

Const TaxRate3 = 0.2

Const TaxRate4 = 0.3

Const TaxRate5 = 0.37

Const TotalTaxPay0 = 0

Const TotalTaxPay1 = 2500

Const TotalTaxPay2 = 42500

Const TotalTaxPay3 = 142500

Const TotalTaxPay4 = 1042500

Select Case TaxableIncome

Case Is >= UpperRange4

PersonalTax = TotalTaxPay4 + _

(TaxRate5 * (TaxableIncome - UpperRange4))

Case Is >= UpperRange3

PersonalTax = TotalTaxPay3 + _

(TaxRate4 * (TaxableIncome - UpperRange3))

Case Is >= UpperRange2

PersonalTax = TotalTaxPay2 + _

(TaxRate3 * (TaxableIncome - UpperRange2))

Case Is >= UpperRange1

PersonalTax = TotalTaxPay1 + _

(TaxRate2 * (TaxableIncome - UpperRange1))

Case Is >= UpperRange0

PersonalTax = TotalTaxPay0 + _

197 

 

Copyright of www.ExcelExpertTraining.com 

(TaxRate1 * (TaxableIncome - UpperRange0))

Case Is < UpperRange0

PersonalTax = TaxRate0 * TaxableIncome

End Select

End Function

สตรคานวณภาษหก ณ ทจาย

27

Public Function SigFig(X As Variant, SigFigs As Integer) As Variant

'Rounds X to Sigfigs significant figures

'Many thanks to John N. of Locum Destination Consulting for sharing his

SigFig() function for rounding to significant figures.

'http://www.pcqna.com/Excel_Rounding.htm

Dim Powers As Double, Sign As Long

On Error GoTo ErrHandler

If SigFigs < 1 Then GoTo ErrHandler

Sign = Sgn(X)

X = Abs(X)

Powers = 10 ^ (Int(Log(X) / Log(10#)) + 1)

'Application.Round() in next line is an Excel function; adjust as needed

SigFig = Sign * Application.Round(X / Powers, SigFigs) * Powers

Exit Function

ErrHandler:

SigFig = CVErr(xlErrValue)

End Function

198 

 

Copyright of www.ExcelExpertTraining.com 

'Further developed by Somkiat Foongkiat

'http://xls.i.am

'Excel Expert Training

Public Function SigFigDown(X As Variant, SigFigs As Integer) As Variant

Dim Powers As Double, Sign As Long

On Error GoTo ErrHandler

If SigFigs < 1 Then GoTo ErrHandler

Sign = Sgn(X)

X = Abs(X)

Powers = 10 ^ (Int(Log(X) / Log(10#)) + 1)

SigFigDown = Sign * Application.RoundDown(X / Powers, SigFigs) *

Powers

Exit Function

ErrHandler:

SigFigDown = CVErr(xlErrValue)

End Function

Public Function SigFigUp(X As Variant, SigFigs As Integer) As Variant

Dim Powers As Double, Sign As Long

On Error GoTo ErrHandler

If SigFigs < 1 Then GoTo ErrHandler

Sign = Sgn(X)

X = Abs(X)

Powers = 10 ^ (Int(Log(X) / Log(10#)) + 1)

SigFigUp = Sign * Application.RoundUp(X / Powers, SigFigs) * Powers

Exit Function

ErrHandler:

SigFigUp = CVErr(xlErrValue)

199 

 

Copyright of www.ExcelExpertTraining.com 

End Function

Public Function PowerNum(X As Variant) As Double

X = Abs(X)

PowerNum = (Int(Log(X) / Log(10#)) + 1)

End Function

Public Function RoundSP(Num As Variant, NumDigits As Integer) As

Variant

Dim PowersX As Double, PowersZ As Double, Sign As Long

Dim X1 As Variant, X2 As Variant, X3 As Variant

Dim Y1 As Variant, Y2 As Variant

Dim Z1 As Variant, Z2 As Variant, Z3 As Variant

On Error GoTo ZeroHandler

Sign = Sgn(Num)

Num = Abs(Num)

X1 = Application.RoundDown(Num, NumDigits + 1)

PowersX = 10 ^ (Int(Log(X1) / Log(10#)) + 1)

X2 = X1 / PowersX

X3 = Right(X2, 1) 'หาตวเลขหลกถดไป

Y1 = Application.RoundDown(Num, NumDigits + 1)

Y2 = Num - Y1 'หาวาถดจากนนมคาอะไรอยอก

Z1 = Application.RoundDown(Num, NumDigits)

PowersZ = 10 ^ (Int(Log(Z1) / Log(10#)) + 1)

Z2 = Z1 / PowersZ

200 

 

Copyright of www.ExcelExpertTraining.com 

Z3 = Right(Z2, 1) 'หาตวเลข ณ หลกนน

If (X3 > 5) _

Or ((X3 = 5) And (Y2 <> 0)) _

Or ((X3 = 5) And (Z3 - Application.Odd(Z3)) = 0) _

Then

RoundSP = Sign * Application.Round(Num, NumDigits)

Else

RoundSP = Sign * Application.RoundDown(Num, NumDigits)

End If

Exit Function

ZeroHandler:

RoundSP = Sign * Application.Round(Num, NumDigits)

End Function

Public Function SigFigSP(X As Variant, SigFigs As Integer) As Variant

Dim Powers As Double, Sign As Long

On Error GoTo ErrHandler

If SigFigs < 1 Then GoTo ErrHandler

Sign = Sgn(X)

X = Abs(X)

Powers = 10 ^ (Int(Log(X) / Log(10#)) + 1)

SigFigSP = Sign * RoundSP(X / Powers, SigFigs) * Powers

Exit Function

ErrHandler:

SigFigSP = CVErr(xlErrValue)

End Function

Public Function CountDecimal(X As Variant) As Integer

201 

 

Copyright of www.ExcelExpertTraining.com 

X = Abs(X)

If X < 1 Then

CountDecimal = Len(X) - Len(Int(X))

Else

CountDecimal = Application.Max(0, Len(X) - Len(Int(X)) - 1)

End If

End Function

Public Function CountInteger(X As Variant) As Integer

X = Abs(X)

If Int(X) = 0 Then

CountInteger = 0

Else

CountInteger = Len(Int(X))

End If

End Function

Public Function CountSF(X As Variant) As Integer

Dim Powers As Double, X1 As Variant

X = Abs(X)

Powers = 10 ^ (Int(Log(X) / Log(10#)) + 1)

X1 = X / Powers

CountSF = Len(X1) - 1

End Function

Significant Figure

202 

 

Copyright of www.ExcelExpertTraining.com 

General Functions

1 =SUM(Sheet1:Sheet10!A1:A100)

รวมคาในเซลล A1:A100 ของทก sheet ตงแต sheet 1 ถง 10

2 =COUNTA(Sheet1:Sheet10!A1:A100)

นบเซลล A1:A100 ทมคาของทก sheet ตงแต sheet 1 ถง 10

3 =COUNTIF(data,"<0")

นบจานวนเซลลทมคานอยกวา 0

4 =COUNTIF(data,"yes")

นบจานวนเซลลทมคา "yes"

5 =COUNTIF(data,"*")

นบจานวนเซลลทมคาใดๆ

6 =COUNTIF(data,"s*")

203 

 

Copyright of www.ExcelExpertTraining.com 

นบจานวนเซลลทมคานาดวยตวอกษร "s"

7 =COUNTIF(data,"*s*")

นบจานวนเซลลทมตวอกษร "s"

8 =COUNTIF(data,"yes")+COUNTIF(data,"no")

นบจานวนเซลลทมคา "yes" หรอ "no"

9 =COUNTIF(data,"???")

นบจานวนเซลลทมคา 3 ตวอกษร

10 =COUNTIF(data,">=1")-COUNTIF(data,">10")

นบจานวนเซลลทมคาระหวาง 1 ถง 10

11 =SUMIF(A2:A10,"Jan",C2:C10)

รวมคาของ C2:C10 ในตาแหนงซง A2:A10 = "Jan"

12 =COUNTIF(A2:A10,"Jan",C2:C10)

204 

 

Copyright of www.ExcelExpertTraining.com 

นบคาของ C2:C10 ในตาแหนงซง A2:A10 = "Jan"

13 =SUMIF(A2:A10,"<>Jan",C2:C10)

รวมคาของ C2:C10 ในตาแหนงซง A2:A10 <> "Jan"

14 =SUMIF(Month,"Jan",Sales)+SUMIF(Month,"Feb",Sales)

รวมคาของ Sales ในตาแหนงซง Month="Jan" หรอ "Feb"

15 =SUMIF(A1:A6,"Part#1",B1:B6)

=SUMPRODUCT((A1:A6="Part#1")*(B1:B6))

รวมคาของ Part#1

16 =SUM(IF(FREQUENCY(data,data)>0,1,0))

นบจานวนเซลลทมคา unique numeric values

17 =IF(COUNTIF(A$2:A2,A2)>1,COUNTIF(A$2:A2,A2),"")

=IF(COUNTIF(A$2:A2,A2)>1,"Dup","")

แสดงตาแหนงเซลลทมคาซา

205 

 

Copyright of www.ExcelExpertTraining.com 

18

=IF(A1>=1,INT(A1)&"' ","") & TEXT(MOD(A1,1)*12,"-

0"&IF(ABS(MOD(A1,1)*12-ROUND(MOD(A1,1)*12,0))>1/32,"

0/"&CHOOSE(ROUND(MOD(MOD(A1,1)*12,1)*16,0),16,8,16,4,16,

8,16,2,16,8,16,4,16,8,16),"")) &""""

ปดเลขความยาวจาก feet และ decimal feet ไปเปน feet, inches

แบบปดคา 1/16 inch fractions.

19

=INT(A1/12)&"' " & TEXT(MOD(A1,12),"0"&IF(ABS(MOD(A1,12)-

ROUND(MOD(A1,12),0))>1/32,"

0/"&CHOOSE(ROUND(MOD(MOD(A1,12),1)*16,0),

16,8,16,4,16,8,16,2,16,8,16,4,16,8, 16),"")) & """"

ปดเลขความยาวจาก inches และ decimal fractions ไปเปน feet

และ inches แบบปดคา 1/16th inch fractions

20

=TEXT(A1,"0"&IF(ABS(A1-ROUND(A1,0))>1/32," 0/"& CHOOSE(

ROUND(MOD(A1,1)*16,0),16,8,16,

4,16,8,16,2,16,8,16,4,16,8,16),"")) &""""

ปดเลขความยาวจาก inches และ decimal fractions ไปเปน inches

only with rounded 1/16th inch fractions

21

=VALUE(LEFT(A1,FIND("'",A1)-1)) +

VALUE(MID(A1,FIND("'",A1) +1,FIND("""",A1)-FIND("'",A1)-

1))/12

206 

 

Copyright of www.ExcelExpertTraining.com 

เปลยนเลขความยาว จาก Feet and Inches ไปเปน feet

22 =VALUE(LEFT(A1,FIND("'",A1)-1))*12 +

VALUE(MID(A1,FIND("'",A1) +1,FIND("""",A1)-FIND("'",A1)-1))

เปลยนเลขความยาว จาก Feet and Inches back ไปเปน inches

23

สตร คนคา

=SUM(E4:E23) รวมคาใน E4:E23

=SUBTOTAL(9;G4:G26) รวมคาใน G4:G26 เฉพาะ visible

cells

=SUMPRODUCT(E4:E13;F4:F13)รวมผลคณระหวางn E4:E13 คณกบ

F4:F13

{=SUM(E4:E13*F4:F13)} เหมอนสตรขางตนแตใช array formula

=SUMSQ(E4:E13) S(x²)

=SUMX2MY2(E4:E13;E14:E23) S(x² - y²)

=SUMX2PY2(E4:E13;E14:E23) S(x² + y²)

=SUMXMY2(E4:E13;E14:E23) S(x - y)²

207 

 

Copyright of www.ExcelExpertTraining.com 

24 =COUNTBLANK(E2:E23)

นบเซลลวาง

25 =CELL("filename")

แสดง path- และ filenames

26 =RAND()*100

แสดงเลขสมเปนเลขทศนยมระหวาง 0 ถง 100

27 =RAND()*(100-50)+50

แสดงเลขสมเปนเลขทศนยมระหวาง 50 ถง 100

28 =ROUND(RAND()*100,0)

แสดงเลขสมเปนเลขจานวนเตมระหวาง 0 ถง 100

29 A สตรสะสม

208 

 

Copyright of www.ExcelExpertTraining.com 

1 100 =SUM($A$1:A1)

2 200 =SUM($A$1:A2)

3 300 =SUM($A$1:A3)

4 400 =SUM($A$1:A4)

5 500 =SUM($A$1:A5

สตรยอดรวมสะสม

30 =LEN(B1)-LEN(SUBSTITUTE(SUBSTITUTE(B1,"B",""),"b",""))

count the number of "B"s, both upper and lower case, in the

string in B1

31 =OFFSET(Sheet1!$A$2,0,0,COUNTA($A$2:$A$20),1)

Dynamic Ranges

32 =RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-

LEN(SUBSTITUTE(A2," ","")))))

To return the last name. Suppose cell A2 contains the name

209 

 

Copyright of www.ExcelExpertTraining.com 

"John A Smith"

33 =LEFT(A2,FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-

LEN(SUBSTITUTE(A2," ",""))))-1)

To return the first name, including the middle name (if

present),

34 =LEFT(B2,FIND(" ",B2,1))

To return the first name, without the middle name (if

present),

35 =LEFT(A1,FIND(" ",A1,1))

Returning First Word In A String

36 =RIGHT(A1,LEN(A1)-FIND(" ",A1,1))

Returning All But First Word In A String

37

"Grades" which refers to ={0,"F";60,"D";70,"C";80,"B";90,"A"}

=VLOOKUP(A1,Grades,2)

210 

 

Copyright of www.ExcelExpertTraining.com 

to convert the number to the grade:

38 =IF(ROW()-ROW(TopRng)+1>TopN,"",LARGE(RankRng,ROW()-

ROW(TopRng)+1))

Ranking Numbers : to return the N highest or lowest values

from a range of data

Suppose we have a range of numeric data called

RankRng. Create a range next to RankRng (starting in the

same row, with the same number of rows) called TopRng.

Also, create a named cell called TopN, and enter into it the

number of values you want to return (e.g., 5 for the top 5

values in RankRng). Enter the following formula in the first

cell in TopRng, and use Fill Down to fill out the range

39 =IF(ROW()-ROW(TopRng)+1>TopN,"",SMALL(RankRng,ROW()-

ROW(TopRng)+1))

To return the TopN smallest values of RankRng

40 =CELL("filename",A1)

To return the full sheet name (including the file path)

41 =MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,

211 

 

Copyright of www.ExcelExpertTraining.com 

LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))

To return the sheet name, without the path

42 =MID(CELL("filename",A1),FIND("[",CELL("filename",A1))+1,FIND("]",

CELL("filename",A1))-FIND("[",CELL("filename",A1))-1)

To return the file name without the path

43

=LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))) Or

=SUBSTITUTE(SUBSTITUTE(LEFT(CELL("filename",A1),FIND("]",

CELL("filename",A1))),"[",""),"]","")

To return the file name with the path

44

=RadiusEarth*ACOS(COS(RADIANS(90-

(Lat1*24)))*COS(RADIANS(90-(Lat2*24)))+

SIN(RADIANS(90-(Lat1*24)))*SIN(RADIANS(90-(Lat2*24)))*

COS(RADIANS(24*(Long1-Long2))))

Great Circle Distances

Lat1 is the latitude of point 1, entered as DD:MM:SS.

Long1 is the longitude of point 1, entered as DD:MM:SS.

Lat2 is the latitude of point 2, entered as DD:MM:SS.

Long2 is the longitude of point 2, entered as DD:MM:SS.

RadiusEarth is the radius of the earth (3,963 miles or 6,377

212 

 

Copyright of www.ExcelExpertTraining.com 

kilometers).

45

=RadiusEarth*ACOS(COS(RADIANS(90-

Lat1))*COS(RADIANS(90-Lat2))+

SIN(RADIANS(90-Lat1))*SIN(RADIANS(90-

Lat2))*COS(RADIANS(Long1-Long2)))

mixing hemispheres, enter Northern and Western coordinates

as positive, and Southern and Eastern coordinates as

negative

46 =LEFT(A2,IF(ISERROR(FIND(",",A2,1)),LEN(A2),FIND(",",A2,1)-

1))

To return the last name of the full name in A2

47

=TRIM(IF(ISERROR(FIND(",",A2,1)),A2,MID(A2,FIND(",",A2,1)+1,

IF(ISERROR(FIND(" ",A2,FIND(",",A2,1)+2)),LEN(A2),

FIND(" ",A2,FIND(",",A2,1)+2))-FIND(",",A2,1))))

To return the first name

48

=TRIM(RIGHT(A2,LEN(A2)-IF(ISERROR(FIND(" ",A2,

FIND(" ",A2,FIND(",",A2,1)+2))),LEN(A2),

FIND(" ",A2,FIND(" ",A2,FIND(",",A2,1)+2))-1)))

213 

 

Copyright of www.ExcelExpertTraining.com 

To return the middle name

49 =MAX(A1:A10,B1)

the highest score ever reached

the Tolls->Options dialog, click on the Calculation tab, and

check the Interations check box

50 =SUM(INDIRECT("A1:A10"))

=SUM($A$1:$A$10),

51 =A1&IF(AND(A1>=10,A1<=14),"th",

CHOOSE(MOD(A1,10)+1,"th","st","nd","rd","th","th","th","th","th","th"))

return the number in A1 with the suffix appended

52 =RANK(C7,C$7:C$16)+COUNTIF(C$7:C7,C7)-1

Unique Ranks

53 =COUNT(C$7:C$16)-

(RANK(C7,C$7:C$16)+COUNTIF(C$7:C7,C7))+2

214 

 

Copyright of www.ExcelExpertTraining.com 

Reverse Unique Ranks

54 =CELL("filename",A1)

D:\driveM\excel\TAXES\[1996FEDT.XLS]Sheet1

55 =LEFT(CELL("filename",A1),FIND("[",CELL("filename",A1),1)-1)

=INFO("directory")

D:\driveM\excel\TAXES\

56 =SUBSTITUTE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1),1)-

1),"[","")

D:\driveM\excel\TAXES\1996FEDT.XLS

57 =SUBSTITUTE(SUBSTITUTE(CELL("filename",A1),"[",""),"]"," [")

& "]"

D:\driveM\excel\TAXES\1996FEDT.XLS [Sheet1]

58 =SUBSTITUTE(LEFT(LOWER(CELL("filename",A1)),FIND("]",

CELL("filename",A1))-1),"[","") & " [" &

MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,28) &

215 

 

Copyright of www.ExcelExpertTraining.com 

"]"

d:\drivem\excel\taxes\1996fedt.xls [Sheet1]

59 =MID(CELL("filename",A1),FIND("[",CELL("filename",A1),1)+1,FIND("]",

CELL("filename",A1),1)-FIND("[",CELL("filename",A1),1)-1)

1996FEDT.XLS

60

=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-

FIND("]", CELL("filename",A1)))

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,99)

=SheetName()

Sheet1

61

=INFO("directory")

directory, memavail, memused, numfile, origin, osversion, recalc,

release, system, totmem

C:\WINNT\Profiles\Administrator\Personal\

62 =UPPER(LEFT(A37,1)&"."&MID(A37,FIND(" ",A37&" ")+1,1)&".

")

216 

 

Copyright of www.ExcelExpertTraining.com 

Extract the first two initials

63 =IF(LEN(A11)=0,"",IF(ISERR(FIND("

",A11)),A11,LEFT(A11,FIND(" ",A11)-1)))

Extract the first word

64

=len(a1)-len(substitute(a1,"a","")) — lettercase must match

=len(a1)-len(substitute(upper(a1),"A","")) — lettercase does

not matter

Find number of occurrences of a character in a cell

65 =LEN(A1)-LEN(SUBSTITUTE(A1,",",""))+(LEN(TRIM(A1))>0)

Find the number of items separated by commas

66 =LEN(SUBSTITUTE(TRIM(A1),CHAR(32),CHAR(32)&CHAR(32))

)-LEN(TRIM(A1))+1

Find the number of words in a string

67 =LEN(A1)-LEN(SUBSTITUTE(A1,"aa","")))/LEN("aa")

Find the number of occurences of a string in a single cell

217 

 

Copyright of www.ExcelExpertTraining.com 

68 =countif(A1:J1,"aa")

Find the number of cells in a range that have string as their

value

69

=IF(ISERR(FIND("/",E22)),E22,MID(E22,FIND("/",E22,1)+1,99))

=IF(ISERR(FIND("/",E22)),"",MID(E22,FIND("/",E22,1)+1,99))

Return string after first "/" character

70 =NOT(ISNUMBER(VALUE(LEFT(D7,1))))

=IF(LEFT(TRIM(D7))="","",NOT(ISNUMBER(VALUE(LEFT(D7,1)))))

First Character checked as alphabetic character

71 =SUBSTITUTE(A1," ","")

Remove All Spaces

72

=IF(MOD(INT(16*(+B2-

INT(B2)+0.0312)),16)=0,TEXT(B2,"#"),IF(MOD(INT(16*(+B2-

INT(B2)+0.0312)),8)=0,TEXT(B2,"#

0/2"),IF(MOD(INT(16*(+B2-INT(B2)+0.0312)),4)=0,TEXT(B2,"#

0/4"),IF(MOD(INT(16*(+B2-INT(B2)+0.0312)),2)=0,TEXT(B2,"#

218 

 

Copyright of www.ExcelExpertTraining.com 

0/8"),TEXT(B2,"# 0/16")))))

to reduce 8/16's to 1/2, 10/16 to 5/8

73 =SUMPRODUCT(B2:B6,C2:C6)/SUM(C2:C6)

Weighted Average

74 =OFFSET(MySheet!$A$1,0,0,COUNTA(MySheet!$A:$A),1)

Dynamic Named Ranges

75

=POWER((SUM(IF(values0,values*(POWER(1+rRate,(MAX(dates)-

dates)/daybase)) ,0)))/(SUM(IF(values<0,values/(POWER

(1+iRate,(MAX(dates)-dates)/daybase)) ,0)))*-1,1/((MAX(dates)-

MIN(dates))/daybase))-1

combine the functionality of the XIRR and MIRR functions

values is the row or column range of cashflows

dates is the row or column range of corresponding dates

iRate is the interest rate you pay on the money used in the

cash flows

rRate is the interest rate you receive on the cash flows as you

reinvest them

daybase is days-in-year basis to use (usually 360 or 365).

219 

 

Copyright of www.ExcelExpertTraining.com 

76

=MROUND(Num,IF(VALUE(RIGHT(Num/10^(INT(LOG(ABS(Num)))-

Plc+1),2))=0.5,2,1)* SIGN(Num)*10^(INT(LOG(ABS(Num)))-Plc+1))

=MROUND(Num,IF(VALUE(RIGHT(Num/Fact,2))=0.5,2,1)*SIGN(Num)*Fact)

'bankers rounding' for a number (Num) to a given number (Plc) of

significant digits

define 'Fact' as =10^(INT(LOG(ABS(Num)))-Plc+1),

77 =INDEX(FREQUENCY((A1,A3,A5),20),2)

นบจานวนเซลลซงไมไดตดตอกน และมคามากกวา 20

78 =LEN(A1)-LEN(SUBSTITUTE(A1,"B",""))

=LEN(A1)-LEN(SUBSTITUTE(SUBSTITUTE(A1,"B",""),"b",""))

นบตวอกษร b ในเซลล

79

=SUM(LEN(A1)-LEN(SUBSTITUTE(A1,B1,"")))/LEN(B1)

=SUM(LEN(A1)-

LEN(SUBSTITUTE(UPPER(A1),UPPER(B1),"")))/LEN(B1)

นบจานวนคา B1 ในประโยค A1

80 =A1&IF(OR(VALUE(RIGHT(A1,2))={11,12,13}),

220 

 

Copyright of www.ExcelExpertTraining.com 

"th",IF(OR(VALUE(RIGHT(A1))={1,2,3}),CHOOSE(RIGHT(A1),

"st","nd","rd"), "th"))

Ordinal Number

81 =IF(AND(A1>0,A1<257),IF(A1>26,CHAR(CEILING(A1/26,1)+63),"")

&CHAR(IF(MOD(A1,26)=0,26,MOD(A1,26))+64),"")

แปลงเลขท column เปนตวอกษร column

82 =MID(A1,FIND("*",SUBSTITUTE(A1,"\","*",LEN(A1)-

LEN(SUBSTITUTE(A1,"\",))))+1,LEN(A1))

แยกชอ file จาก c:\MainDir\ชอ file

83 =IF(ISERR(LEFT(A1,FIND(" ",A1)-1)),A1,LEFT(A1,FIND(" ",A1)-

1))

แยกคาแรกออกจากประโยคภาษาองกฤษ

84

=IF(LEN(A4)-LEN(SUBSTITUTE(A4," ",""))=0, A4,

RIGHT(A4,LEN(A4) -FIND("*",SUBSTITUTE(A4," ", "*", LEN(A4)-

LEN(SUBSTITUTE(A4," ",""))))))

แยกคาสดทายออกจากประโยคภาษาองกฤษ

221 

 

Copyright of www.ExcelExpertTraining.com 

85 =RIGHT(A1,LEN(A1)-FIND(" ",A1,1))

แยกคาทเหลอซงไมใชคาแรก ออกจากประโยคภาษาองกฤษ

86

=LEFT(A1,FIND(" ",A1)-1)

=IF(ISERR(MID(A1,FIND(" ",A1)+1,IF(ISERR(FIND(" ",A1,FIND("

",A1)+1)),FIND(" ",A1),FIND(" ",A1,FIND(" ",A1)+1))-FIND("

",A1)-1)),"",MID(A1,FIND(" ",A1)+1,IF(ISERR(FIND("

",A1,FIND(" ",A1)+1)),FIND(" ",A1), FIND(" ",A1,FIND("

",A1)+1))-FIND(" ",A1)-1))

=RIGHT(A1,LEN(A1)-FIND("*",SUBSTITUTE(A1," ","*",LEN(A1)-

LEN(SUBSTITUTE(A1," ","")))))

แยก first name, middle names, last names

87 =IF(OR(LEFT(A1,2)="Mr",LEFT(A1,3)="Mrs",LEFT(A1,2)="Ms"),

RIGHT(A1,LEN(A1)-FIND(" ",A1)),A1)

ตดคานาหนาชอออกจากชอ

88 =LEN(SUBSTITUTE(TRIM(A1),CHAR(32),CHAR(32)&CHAR(32)))-

LEN(TRIM(A1))+1

นบจานวนคาในเซลล

222 

 

Copyright of www.ExcelExpertTraining.com 

89

=LEFT(TRIM(A1),FIND(" ",TRIM(A1),1)-1)&"

"&RIGHT(TRIM(A1),LEN(TRIM(A1))-IF(ISERROR(FIND("

",TRIM(A1),FIND(" ",TRIM(A1),1)+1)),FIND("

",TRIM(A1),1),FIND(" ",TRIM(A1),FIND(" ",TRIM(A1),1)+1)))

ตด middle names ออกจากชอนามสกล

90

=SUBTOTAL(9, INDIRECT(ADDRESS( ROW(C3),COLUMN(C3)

)&":"& ADDRESS( ROW(C3),

ROW(INDIRECT(COLUMN(C3)&":"&COLUMN(G3))) )))

Cumulative Sum คาในเซลล C3:G3

91 =MAX( 0, MIN( เวลาสนสดกะ, กาหนดสนสด ) - MAX( เวลาเรมกะ,

กาหนดเรม ) )

ระยะเวลาทใชในกะนน

92 =IF( Date>=Start, Amount, 0 )

แสดง Amount เมอถงวนทกาหนด

93 =IF( Date<=Stop, Amount, 0 )

แสดง Amount เมอยงไมเลยวนทกาหนด

223 

 

Copyright of www.ExcelExpertTraining.com 

94 =IF( AND( Date>=Start, Date<=Stop ), Amount, 0 )

แสดง Amount ในชวงวนทกาหนด

95 =IF( AND( Date>=Start, Date<=Stop, OR( MOD( Date-

Start+1,Cycle ) = 1,Cycle = 1 ) ), Amount, 0 )

แสดง Amount ในชวงวนทกาหนด และกาหนดเปนชวงๆตาม Cycle

224 

 

Copyright of www.ExcelExpertTraining.com 

Day and Time Formulas

1 =DATEDIF(Date1,Date2,Interval)

คานวณระยะเวลาระหวางชวงทกาหนด

Interval Code ความหมาย

"m" จานวนเดอนสะสม

"d จานวนวนสะสม

"y" จานวนปสะสม

"ym" จานวนเดอนทเหลอ เมอนบปชนป

"yd" จานวนวนทเหลอ เมอนบปชนป

"md" จานวนวนทเหลอ เมอนบเดอนชน

เดอน

2

=DATEDIF(วนเกด,NOW(),"y") & " years, " & DATEDIF(วนเกด

,NOW(),"ym") & " months, " & DATEDIF(วนเกด,NOW(),"md") & "

days"

คานวณอาย

225 

 

Copyright of www.ExcelExpertTraining.com 

3 =AND((TDate>=MIN(TDate1,TDate2)),TDate<=MAX(TDate1,TDate2))

ตรวจสอบวา TDate อยระหวาง TDate1 ถง TDate2

4

=IF(OR(Date2<VDate1,VDate2<Date1),Date2-

Date1+1,IF(OR(AND(Date1<=VDate1,Date2>=VDate2),

AND(Date1>=VDate1,Date2<=VDate2)),MAX(0,(Date2-Date1)-(VDate2-

VDate1)),

IF(OR(AND(Date1<=VDate1,Date2<=VDate2),AND(Date1>=VDate1,Date2>V

Date2)),

MAX(0,(VDate1-Date1))+MAX(0,Date2-VDate2),NA())))

นบจานวนวนในระหวางชวงวนทกาหนด

ชอ ความหมาย

Date1 วนทเรมงาน

Date2 วนทเสรจงาน

VDate1 วนเรม ซงไมตองการนบเปนวน

ทางาน

VDate2 วนสดทาย ซงไมตองการนบเปน

วนทางาน

226 

 

Copyright of www.ExcelExpertTraining.com 

NWRange ตารางวนหยด

5

=IF(OR(Date2<VDate1,VDate2<Date1),NETWORKDAYS(Date1,Date2,NWRang

e),

IF(OR(AND(Date1<=VDate1,Date2>=VDate2),AND(Date1>=VDate1,Date2<=

VDate2)),

MAX(0,NETWORKDAYS(Date1,Date2,NWRange)-

NETWORKDAYS(VDate1,VDate2,NWRange)),

IF(OR(AND(Date1<=VDate1,Date2<=VDate2),AND(Date1>=VDate1,Date2>V

Date2)),

IF((Date1>=VDate1),0,NETWORKDAYS(Date1,VDate1-1,NWRange))+

IF((Date2<=VDate2),0,NETWORKDAYS(VDate2+1,Date2,NWRange)),NA())))

นบวนเฉพาะวนธรรมดา ไมนบวนหยดสดสปดาหหรอวนหยดอน

6 =IF(OR(IDate2<RDate1,IDate1>RDate2),0,(MIN(IDate2,RDate2)-

MAX(IDate1,RDate1)+1))

นบจานวนวนทอยในทงสองชวงเวลาเหมอนกน

ชอ ความหมาย

IDate1 วนเรมตนของชวงแรก

IDate2 วนสดทายของชวงแรก

227 

 

Copyright of www.ExcelExpertTraining.com 

RDate1 วนเรมตนของชวงทสอง

RDate1 วนสดทายของชวงทสอง

NWRange ตารางวนหยด

7 =IF(OR(IDate2<RDate1,IDate1>RDate2),0,

ABS(NETWORKDAYS(MIN(IDate2,RDate2),MAX(IDate1,RDate1),NWRange)))

นบวนเฉพาะวนธรรมดา ไมนบวนหยดสดสปดาหหรอวนหยดอน

8 =MAX(0,NETWORKDAYS(MAX(D$5,$B6),MIN(DATE(YEAR(D$5),MONTH(D$5)+

1,0),$C6)))

สรปจานวนวนทางานแตละเดอน

9 =MAX(0,(MIN($C17,DATE(YEAR(D$16),MONTH(D$16)+1,0))-

MAX($B17,D$16)+1))

สรปจานวนวนแตละเดอน

228 

 

Copyright of www.ExcelExpertTraining.com 

1

0

=MAX(0,NETWORKDAYS(MAX(DATE(D$27,1,1),$B28),MIN(DATE(D$27,12,31

),$C28)))

สรปจานวนวนทางานแตละป

11 =MAX(0,(MIN($C39,DATE(D$38,12,31))-

MAX($B39,DATE(D$38,1,1))+1))

สรปจานวนวนแตละป

229 

 

Copyright of www.ExcelExpertTraining.com 

12 =FLOOR("5/"&DAY(MINUTE(B2/38)/2+56)&"/"&B2,7)-34

=FLOOR(DAY(MINUTE(B2/38)/2+56)&"/5/"&B2,7)-34

วน Easter

B2 เปนปทตองการหาวน Easter

13 =TRUNC(((B6-DATE(YEAR(B6),1,0))+6)/7)

เลขทสปดาห

14

=INT((A1-SUM(MOD(DATE(YEAR(A1-MOD(A1-2,7)+3),1,2),

{1E+99,7})*{1,-1})+5)/7)

=1+INT((A1-DATE(YEAR(A1+4-WEEKDAY(A1+6)),1,5)+

WEEKDAY(DATE(YEAR(A1+4-WEEKDAY(A1+6)),1,3)))/7)

เลขทสปดาหตาม ISO

15 =RIGHT(YEAR(A1),2)&TEXT(A1-DATE(YEAR(A1),1,0),"000")

เปลยนวนทปกต เปน Julian Date

16 =DATE(IF(0+(LEFT(A1,2))<30,2000,1900)+LEFT(A1,2),1,RIGHT(A1,3))

เปลยน Julian date เปนวนทปกต

230 

 

Copyright of www.ExcelExpertTraining.com 

17

=DATE(IF(0+(LEFT(A1,2))<30,2000,1900)+LEFT(A1,2),1,RIGHT(A1,3))

-

DATE(IF(0+(LEFT(A2,2))<30,2000,1900)+LEFT(A2,2),1,RIGHT(A2,3))

ระยะเวลาระหวางสอง Julian Dates

18 =DATE(IF(0+(LEFT(A1,2))<30,2000,1900)+LEFT(A1,2),1,RIGHT(A1,3)+A2)

เพมจานวนวนนบจาก Julian Date

19 =IF(ROW(A1),CALL("Xlcall32","Excel4","2JRJ",74))

=IF(ROW(A1:A4),CALL("Xlcall32","Excel4","2JRJ",74))

วนปรบปรงคาครงสดทาย

20

=IF(INT(StartDT)=INT(EndDT),"0 days " & ROUND(24*(EndDT-

StartDT),2)&"hours",MAX(NETWORKDAYS(StartDT+1,EndDT-

1,HolidayList),0)+INT(24*(((EndDT-INT(EndDT))-(StartDT-

INT(StartDT)))+(DayEnd-DayStart))/(24*(DayEnd-DayStart)))&"

days "&MOD(ROUND(((24*(EndDT-INT(EndDT)))-

24*DayStart)+(24*DayEnd-(24*(StartDT-INT(StartDT)))),2),

ROUND((24*(DayEnd-DayStart)),2))&" hours ")

ระยะเวลาเปนวนและชวโมง ระหวางชวงเวลาทกาหนด

231 

 

Copyright of www.ExcelExpertTraining.com 

ชอ ความหมาย ตวอยาง

StartDT วนทและเวลา

เรมตน

25-Oct-99

13:00

EndDT วนทและเวลา

สนสด

28-Oct-99

15:00

DayStart เวลาเรมงาน

ประจาวน 9:00

DayEnd เวลาเลกงาน

ประจาวน 17:00

HolidayList ตารางวนหยด H1:H10

21

=IF(INT(StartDT)=INT(EndDT),ROUND(24*(EndDT-StartDT),2),

(24*(DayEnd-DayStart)*(MAX(NETWORKDAYS(StartDT+1,EndDT-

1,HolidayList),0)+INT(24*(((EndDT-INT(EndDT))-

(StartDT-INT(StartDT)))+(DayEnd-DayStart))/(24*(DayEnd-

DayStart))))+MOD(ROUND(((24*(EndDT-INT(EndDT)))-

24*DayStart)+(24*DayEnd-(24*(StartDT-INT(StartDT)))),2),

ROUND((24*(DayEnd-DayStart)),2))))

นบจานวนชวโมงทางาน

232 

 

Copyright of www.ExcelExpertTraining.com 

22 =IF(OR(WEEKDAY(A4+1)=1,WEEKDAY(A4+1)=7),A4+3,A4+1)

ลาดบวนทเฉพาะวนทางานปกต นบตงแตวนแรกในเซลล A4

23 =DAY(DATE(YEAR(A1),MONTH(A1)+1,0))

เลขทจานวนวนในแตละเดอน หรอเลขวนทสดทายของเดอน

24 =DATE(YEAR(A1),MONTH(A1)+1,0)

วนทสดทายของเดอน

25 =DATE(YEAR(A1),MONTH(A1),0)

วนทสดทายของเดอนกอน

26 =DATE(Yr,Mon,1+((Nth-(DoW>=WEEKDAY(DATE(Yr,Mon,1))))*7)+

(DoW-WEEKDAY(DATE(Yr,Mon,1))))

return the date of Nth day-of-week for a given month and year.

For example, it will return 26-March-98 for the 4th Thursday of

March, 1998. Days-of-week range from 1 to 7, with Sunday =

1 and Saturday = 7.

Where Yr, Mon, Nth, and DoW are cell references or values

indicating Year, Month, Nth, and Day-Of-Week.

233 

 

Copyright of www.ExcelExpertTraining.com 

27 =DATE(Yr,1,1+(Nth-(Dow>=WEEKDAY(DATE(Yr,1,1))))*7)+

Dow-WEEKDAY(DATE(Yr,1,1))

return the date of Nth day-of-week for a given year

Where Yr,Nth, and DoW are cell references or values indicating

Year, Month, Nth, and Day-Of-Week

28 =TRUNC((B1-A1)/7)&" Weeks "&MOD(B1-A1,7)&" Days"

จานวนสปดาหระหวางชวงเวลาทกาหนด

29 =IF(ISERROR(VLOOKUP(WEEKDAY(A1),WorkDays,1,0)),FALSE,TRUE)

ตรวจสอบวา เปนวนทางานปกตหรอไม

30 =ROUNDUP(MONTH(A1)/3,0)

เลขทไตรมาส

31 =TRUNC(((A1-DATE(YEAR(A1),1,1))/7))+1+

IF(WEEKDAY(DATE(YEAR(A1),1,1))>WEEKDAY(A1),1,0)

เลขทสปดาหของวนทกาหนด

234 

 

Copyright of www.ExcelExpertTraining.com 

32 =DATE(YEAR(A1)+1,MONTH(A1)+6, DAY(A1)+10)

วนทนบถดไปอก 1 ป 6 เดอน 10 วน

33 =IF(A1>B1,B1+1-A1,B1-A1)

ระยะเวลาระหวางชวงเวลา

34 =TIME(HOUR(A1),MROUND(MINUTE(A1),B1),0)

ปรบเวลา ในเซลล A1 เปนเลขชวโมง ครงชวโมง หรอสบหานาท ทใกล

ทสด

B1 เปนเลขนาท ซงตองการปดเขาส

35 =TIME(HOUR(A1),FLOOR(MINUTE(A1),B1),0)

=TIME(HOUR(A1),CEILING(MINUTE(A1),B1),0)

ปดเวลาขนลงสชวงทใกลทสด

36 =SUMPRODUCT(N(MONTH(A1:A20)=12))

นบจานวนเซลลทมวนทซ งอยในเดอนธนวาคม

37 =SUMPRODUCT((MONTH(A1:A20)=12)*(YEAR(A1:A20)=2000))

235 

 

Copyright of www.ExcelExpertTraining.com 

นบจานวนเซลลทมวนทซ งอยในเดอนธนวาคม ป 2000

3

8

=SUMPRODUCT(N(A1:A20>DATE(2000,11,15))*N(A1:A20<=DATE(2000,12,

15)))

=countif(A1:A20,">=16/11/2000")-countif(A1:A20,">15/12/2000")

นบจานวนเซลลทมวนทซ งอยระหวางวนท 16 พฤษจกายน ถงวนท 15 เดอน

ธนวาคม

39 =(A1>B1)+B1-A1

หาระยะเวลาระหวางเวลาทกาหนด

40

A B C

1 TIME Time สตรทใช

2 1 0:01:00 =ROUNDDOWN(A2,-2) / 2400 + MOD(A2,100) /

1440

3 2 0:02:00 =ROUNDDOWN(A3,-2) / 2400 + MOD(A3,100) /

1440

4 3 0:03:00 =ROUNDDOWN(A4,-2) / 2400 + MOD(A4,100) /

1440

236 

 

Copyright of www.ExcelExpertTraining.com 

5 1200 12:00:00 =ROUNDDOWN(A5,-2) / 2400 + MOD(A5,100) /

1440

6 1201 12:01:00 =ROUNDDOWN(A6,-2) / 2400 + MOD(A6,100) /

1440

7 2400 0:00:00 =ROUNDDOWN(A7,-2) / 2400 + MOD(A7,100) /

1440

8 3359 9:59:00 =ROUNDDOWN(A8,-2) / 2400 + MOD(A8,100) /

1440

เปลยนเวลาแบบทหาร เปน เวลาแบบมาตรฐาน

41

=INT((A1-(DATE(YEAR(A1+(MOD(8-WEEKDAY(A1),7)-3)),1,1))-3+

MOD(WEEKDAY(DATE(YEAR(A1+(MOD(8-WEEKDAY(A1),7)-

3)),1,1))+1,7))/7)+1

คนคาเปนเลขทสปดาห

42 =NOW()+12/24

เวลา 12 ชวโมงถดไปจากเวลาปจจบน (24 ชม / วน)

43 =NOW()+10/1440

237 

 

Copyright of www.ExcelExpertTraining.com 

เวลา 10 นาทถดไปจากเวลาปจจบน (1440 นาท / วน)

44 =NOW()+30/86400

เวลา 30 วนาทถดไปจากเวลาปจจบน (86400 วนาท / วน)

45

A2: =TODAY()

B2: =A2-MOD(A2-2,7)

C2: =B2

Monday week starting dates

46

=A2&IF(INT(MOD(A2,100)/10)=1, "th", IF(MOD(A2,10)=1, "st",

IF(MOD(A2,10)=2,"nd", IF(MOD(A2,10)=3, "rd","th"))))

=DAY(A2)&IF(INT(MOD(DAY(A2),100)/10)=1, "th",

IF(MOD(DAY(A2),10)=1, "st", IF(MOD(DAY(A2),10)=2,"nd",

IF(MOD(DAY(A2),10)=3, "rd","th"))))& " " & TEXT(A2,"mmmm,

yyyy")

ตวเลขและวนทแบบนบมคาวา st nd rd th ตอทาย

47 =MROUND(A22,1/(24*4))

Rounding to nearest quarter hour

238 

 

Copyright of www.ExcelExpertTraining.com 

48 =FLOOR(A22,1/(24*4))

Rounding down to nearest quarter hour

49 =CEILING(A22,1/(24*4))

Rounding Up to nearest quarter hour

50 =TEXT(NOW(),"dd mmmm yyyy")

เปลยนเวลาเปนรปแบบตวอกษร จะไดจดชดซายและยดขามขอบขวา

ออกไปได

5

1

(วนทแสดงในแบบของ US/Canada mm/dd/yyyy)

04/14/200

1 Sat 36995

First Day of Week 04/08/200

1 Sun =B1-WEEKDAY(B1)+1

Last Day of Week 04/14/200

1 Sat =B1-WEEKDAY(B1)+7

First Day of Month 04/01/200 Sun =DATE(YEAR(B1),MONTH(B1),1)

239 

 

Copyright of www.ExcelExpertTraining.com 

1

Last Day of Month 04/30/200

1

Mo

n =DATE(YEAR(B1),MONTH(B1)+1,0)

First Day of Year 04/01/200

1 Sun =DATE(YEAR(B1),MONTH(B1),1)

Last Day of Year 12/31/200

1

Mo

n =DATE(YEAR(B1)+1,1,0)

Closest Monday 04/16/200

1

Mo

n

=DATE(YEAR(B1),MONTH(B1),DAY(

B1)

+CHOOSE(WEEKDAY(B1),1,0,-1,-2,-

3,3,2,1))

Next Monday 04/16/200

1

Mo

n

=DATE(YEAR(B1),MONTH(B1),DAY(

B1)

+CHOOSE(

WEEKDAY(B1),1,7,6,5,4,3,2))

Next Monday 04/16/200

1

Mo

n

=A1-WEEKDAY(A1,2)+8

1st Monday of

Month

04/02/200

1

Mo

n

=DATE(YEAR(B1),MONTH(B1),

CHOOSE(WEEKDAY(DATE(YEAR(B1)

,

MONTH(B1),1)),2,1,7,6,5,4,3))

240 

 

Copyright of www.ExcelExpertTraining.com 

2nd Monday of Mont

h

04/09/200

1

Mo

n

=DATE(YEAR(B1),MONTH(B1),7

+CHOOSE(WEEKDAY(DATE(YEAR(B

1),

MONTH(B1),1)),2,1,7,6,5,4,3))

3rd Monday of

Month

04/16/200

1

Mo

n

=DATE(YEAR(B1),MONTH(B1),14

+CHOOSE(WEEKDAY(DATE(YEAR(B

1),

MONTH(B1),1)),2,1,7,6,5,4,3))

4th Monday of

Month

04/23/200

1

Mo

n

=DATE(YEAR(B1),MONTH(B1),21

+CHOOSE(WEEKDAY(DATE(YEAR(B

1),

MONTH(B1),1)),2,1,7,6,5,4,3))

5th Monday of

Month

04/30/200

1

Mo

n

=IF(MONTH(DATE(YEAR(B1),

MONTH(B1),28+

CHOOSE(WEEKDAY(DATE(YEAR(B1)

, MONTH(B1),1)),2,1,7,6,5,4,3)))=

MONTH(B1),DATE(YEAR(B1),

MONTH(B1),28

+CHOOSE(WEEDATE(YEAR(B1),

MONTH(B1),1)),

2,1,7,6,5,4,3)),"none")

Last Monday of

Month

04/30/200

1

Mo

n

=DATE(YEAR($B$1),

MONTH($B$1)+1,1)-

WEEKDAY(DATE(YEAR($B$1),

241 

 

Copyright of www.ExcelExpertTraining.com 

MONTH($B$1)+1,6))

For a different day of the week rotate the 2nd to last parameters in

CHOOSE.

i.e. 7,6,5,4,3,2,1 for Wednesday instead of 2,1,7,6,5,4,3 for Monday as

used in some of the formulae.

Formula in C1 & D1, downward =IF(ISNUMBER(B1),WEEKDAY(B1),"

")

5

2

A B E

Dates

format

mm/dd/yyy

y

สตรทใช

First ddd

of Month 03/01/1999 =DATE(YEAR(B18),MONTH(B18),1)

Last ddd

of Month 03/31/1999 =DATE(YEAR($B$18),MONTH($B$18)+1,1)-1

First

Sunday of 03/07/1999

=DATE(YEAR($B$18),MONTH($B$18),1)+

MOD(1+7-

242 

 

Copyright of www.ExcelExpertTraining.com 

Mo. WEEKDAY(DATE(YEAR($B$18),MONTH($B$18),1))

,7)

First

Monday 03/01/1999

=DATE(YEAR($B$18),MONTH($B$18),1)+

MOD(2+7-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18),1))

,7)

First

Tuesday 03/02/1999

=DATE(YEAR($B$18),MONTH($B$18),1)+

MOD(3+7-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18),1))

,7)

First

Wednesda

y

03/03/1999

=DATE(YEAR($B$18),MONTH($B$18),1)+

MOD(4+7-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18),1))

,7)

First

Thursday 03/04/1999

=DATE(YEAR($B$18),MONTH($B$18),1)+

MOD(5+7-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18),1))

,7)

First

Friday 03/05/1999

=DATE(YEAR($B$18),MONTH($B$18),1)+

MOD(6+7-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18),1))

,7)

243 

 

Copyright of www.ExcelExpertTraining.com 

First

Saturday 03/06/1999

=DATE(YEAR($B$18),MONTH($B$18),1)+

MOD(7+7-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18),1))

,7)

Last

Sunday of

Mo.

03/28/1999

=DATE(YEAR($B$18),MONTH($B$18)+1,1)-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18)+1,

7))

Last

Monday 03/29/1999

=DATE(YEAR($B$18),MONTH($B$18)+1,1)-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18)+1,

6))

Last

Tuesday 03/30/1999

=DATE(YEAR($B$18),MONTH($B$18)+1,1)-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18)+1,

5))

Last

Wednesda

y

03/31/1999

=DATE(YEAR($B$18),MONTH($B$18)+1,1)-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18)+1,

4))

Last

Thursday 03/25/1999

=DATE(YEAR($B$18),MONTH($B$18)+1,1)-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18)+1,

3))

Last Friday 03/26/1999

=DATE(YEAR($B$18),MONTH($B$18)+1,1)-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18)+1,

2))

244 

 

Copyright of www.ExcelExpertTraining.com 

Last

Saturday 03/27/1999

=DATE(YEAR($B$18),MONTH($B$18)+1,1)-

WEEKDAY(DATE(YEAR($B$18),MONTH($B$18)+1,

8))

Last

weeknum

of yr

53 =WEEKNUM(DATE(YEAR(B18),12,31),1)

53

Description สตร

The date for

Monday in the

previous week

=TODAY()-WEEKDAY(TODAY(),2)-6

The date for

Monday in the

current week

=TODAY()-WEEKDAY(TODAY(),2)+1

The date for

Monday in the next

week

=TODAY()-WEEKDAY(TODAY(),2)+8

Create a valid date =DATE(2002,12,24)

245 

 

Copyright of www.ExcelExpertTraining.com 

Create a valid date =DATEVALUE("1.1.1980")

Count of days in a

month =DAY(DATE(YEAR(A1),MONTH(A1)+1,0))

Last date in a

month =DATE(YEAR(A1),MONTH(A1)+1,0)

Determine which

quarter a date

belongs to

=CHOOSE(MONTH(A1),1,1,1,2,2,2,3,3,3,4,4,4)

54

=DAY(A1)&IF(INT(MOD(DAY(A1),100)/10)=1, "th",

IF(MOD(DAY(A1),10)=1, "st",IF(MOD(DAY(A1),10)=2,"nd",

IF(MOD(DAY(A1),10)=3, "rd","th"))))& " " &TEXT(A1,"mmmm,

yyyy")

Ordinal Date

246 

 

Copyright of www.ExcelExpertTraining.com 

List & Database Formulas

1 =INDEX(Rng,MATCH(MAX(COUNTIF(Rng,Rng)),COUNTIF(Rng,Rng),0))

แสดงคาทใชบอยทสด

2 =INDEX(Rng,MATCH(MIN(COUNTIF(Rng,Rng)),COUNTIF(Rng,Rng),0))

แสดงคาทใชนอยครงทสด

3

=INDIRECT(ADDRESS(ROW(Rng)+MATCH(C1,Rng,0)-1,COLUMN(Rng)-

ColsToLeft)) Or

=INDIRECT(ADDRESS(ROW(Rng)+MATCH(C1,Rng,0)-1,COLUMN(A:A) ))

Left Lookups

4 =IF(MAX(COUNTIF(Range1,Range1))>1,"Duplicates","No Duplicates")

ตรวจสอบคาซา

5 =IF(COUNTIF(Range1, A5)>1,TRUE,FALSE)

ตรวจสอบคาซา

247 

 

Copyright of www.ExcelExpertTraining.com 

6 =IF(COUNTIF(Range1,???)>1,"Duplicate","")

ตรวจสอบคาซา

7 =COUNTIF($A:$A,$A1)>1

ตรวจสอบคาซาในแถวตง

8

=SUM(N(OFFSET(E1,ROW(1:5)-1,-1*ROW(1:5)+1)))

=SUMPRODUCT(N(OFFSET(E1,ROW(INDIRECT("1:5"))-1,-

1*ROW(INDIRECT("1:5"))+1)))

=SUM(N(OFFSET(E1,ROW(INDIRECT("1:5"))-1,-

1*ROW(INDIRECT("1:5"))+1)))

sum A5:E1 ตามแนวทะแยงมม

9

=INDEX(Range2,MATCH(Value,Range1,0))

=LOOKUP(Value,Range1,Range2)

=VLOOKUP(Value,Range12,2,FALSE)

สตรคนหาคา

248 

 

Copyright of www.ExcelExpertTraining.com 

Conditional Formatting & Data

Validation Formulas

Conditional Formatting

1 =MOD(ROW()-Rw,N*2)+1<=N

กาหนดรปแบบใหเปนแถบแบบเลขค

Rw เปนเลขทบรรทดแรก

N เปนจานวนบรรทดในแตละแถบ

2 =MOD(ROW()-Rw,N*2)+1>N

กาหนดรปแบบใหเปนแถบแบบเลขค

Rw เปนเลขทบรรทดแรก

N เปนจานวนบรรทดในแตละแถบ

3 =ISERROR(cell_reference)

กาหนดรปแบบใหกบเซลลทเปน Error Values

4 =ISTEXT(A1)

เซลลซงไมใชตวเลข

249 

 

Copyright of www.ExcelExpertTraining.com 

5 =A1>AVERAGE($A$1:$D$12)

เซลลซงมคาเกนกวาคาเฉลย

6 =MONTH(A1)=6

เซลลซงเปนเดอนมถนายน

7 =A1=TODAY()

เซลลซงเปนวนน

8 =IF(ISBLANK(A1),"",OR(WEEKDAY(A1)=7,WEEKDAY(A1)=1))

เซลลซงเปนวนเสารอาทตย

9 =A1=MAX($A$1:$A$30)

เซลลซงมคาสงสด

10 =OR( A1=LARGE($A$1:$A$30,1), A1=LARGE($A$1:$A$30,2),

A1=LARGE($A$1:$A$30,3) )

เซลลซงมคาสงสด 3 ลาดบแรก

250 

 

Copyright of www.ExcelExpertTraining.com 

11 =MOD(ROW(),2)=0

row เลขค

12 =MOD(INT((ROW()-1)/4)+1,2)

row ชดละ 4 row

13 =MOD(ROW(),2)=MOD(COLUMN(),2)

row เลขค และเปน column เลขค

14 =IF(COUNTIF($A$1:$D$12,A1)>1,TRUE,FALSE)

เซลลซงมคาซา

15 =A2<A1

เซลลซงไมไดเรยงลาดบ

16 =LEN( SUBSTITUTE(TRIM(A1), CHAR(32), CHAR(32)&CHAR(32)) )-

LEN(TRIM(A1))+1>1

เซลลซงมคามากกวา 1 คา

251 

 

Copyright of www.ExcelExpertTraining.com 

17 =LEN(A3)-LEN(SUBSTITUTE(SUBSTITUTE(A3,"A",""),"a",""))>0

เซลลซงมตวอกษรตว a

18 =AND($B$1:$B$4<>"")

เมอเซลลอนมคาครบแลว

1

9

=MATCH($A1&$B1&$C1&$D1,$F$6:$F$15&$G$6:$G$15&$H$6:$H$15&$I$6:

$I$15,0)>=1

เซลลซงมคาตรงกบคาในตารางทก column $F$6:$F$15 และ $G$6:$G$15

และ $H$6:$H$15 และ $I$6:$I$15

Data Validation

1 =COUNTIF($A$1:$A$50,A1)=1

ปองกนการบนทกขอมลซา

2 =ISNA(VLOOKUP(A9,A$1:A8,1,FALSE))

ปองกนการบนทกขอมลซากบขอมลบรรทดเหนอขนไป

252 

 

Copyright of www.ExcelExpertTraining.com 

3 =ISTEXT(A5)

รบเฉพาะตวอกษร

4 =A2>A1

รบคาซงมากขน

5 =LEFT(A2)="a"

รบคาซงนาดวยตว a

6 =COUNTIF(A3,"A????")=1

รบคาซงนาดวยตว a และม 5 ตวอกษร

253 

 

Copyright of www.ExcelExpertTraining.com 

Array Formulas

สตร Array ตอไปนตองสรางขนโดยกดป ม Ctrl+Shift+Enter จะเกดเครองหมายวงเลบปก

กาปดหวทายสตร

1

=SUM(IF(List>0,List,FALSE))

=AVERAGE(IF(List>0,List,FALSE))

=MIN(IF(List>0,List,FALSE))

=MAX(IF(List>0,List,FALSE))

หาผลลพธเฉพาะคาบวกเทานน สามารถละไมตองใส

คาวา FALSE ในสตร

2

=SUM(IF(List<>0,List,FALSE))

=AVERAGE(IF(List<>0,List,FALSE))

=MIN(IF(List<>0,List,FALSE))

=MAX(IF(List<>0,List,FALSE))

หาผลลพธเฉพาะคาทไมเทากบ 0 เทานน สามารถละ

ไมตองใสคาวา FALSE ในสตร

3 =SUM(IF((List>=LLim)*(List<=ULim),List,FALSE))

254 

 

Copyright of www.ExcelExpertTraining.com 

=AVERAGE(IF((List>=LLim)*(List<=ULim),List,FALSE))

=MIN(IF((List>=LLim)*(List<=ULim),List,FALSE))

=MAX(IF((List>=LLim)*(List<=ULim),List,FALSE))

หาผลลพธเฉพาะคาทอยระหวาง LLim ถง ULim สามารถ

ละไมตองใสคาวา FALSE ในสตร

LLim เปนขดจากดลาง, ULim เปนขดจากดบน

4

=IF(A1=B1,1,0)

=SUM(IF(A1:A10=B1:B10,1,0))

=SUM((A2:A10="Phone")*(B2:B10="Smith")*C2:C10)

=SUM(IF((A2:A10="Fax")+(B2:B10="Jones"),1,0))

=SUM(IF(MOD((A2:A10="Fax")+(B2:B10="Jones"),2),1,0))

=SUM(IF((A2:A10="Fax")+(B2:B10="Jones")<>2,1,0)

นบจานวนเซลลตามเงอนไข โดยใชสตร SUM ตวเลข 1 โดย

ไมตองใชสตร COUNT

สงเกตการใชเครองหมายบวก หรอ เครองหมายคณ

5 =SUM((Month="Jan")*(Region="North")*Sales)

รวมคาของ Sales ในตาแหนงซง Month="Jan" AND

255 

 

Copyright of www.ExcelExpertTraining.com 

Region="North"

6 =SUM((Month="Jan")*(Region<>"North")*Sales)

รวมคาของ Sales ในตาแหนงซง Month="Jan" AND

Region<>"North"

7 =SUM((Month="Jan")*(Region="North"))

นบคาของ Sales ในตาแหนงซง Month="Jan" และ

Region="North"

8 =SUM((Month="Jan")*(Sales>=200)*(Sales))

รวมคาของ Sales ในตาแหนงซง Month="Jan" และ

Sales>= 200

9 =SUM((Sales>=300)*(Sales<=400)*(Sales))

รวมคาของ Sales ระหวาง 300 ถง 400

10 =SUM((Sales>=300)*(Sales<=400))

นบคาของ Sales ระหวาง 300 ถง 400

256 

 

Copyright of www.ExcelExpertTraining.com 

11 =SUM((A1:A10>=5)*(A1:A10<=10)*A1:A10)

รวมคาระหวาง 5 ถง 10

12 =SUM((A1:A10>=5)*(A1:A10<=10))

นบจานวนเซลลทมคาระหวาง 5 ถง 10

13

สตรนบ คนคา

=SUM((F4:F23="yes")+(F4:F23="no"))

นบจานวนเซลล

ทมคาวา yes

หรอ no

=SUM(MOD(G4:G23,2)) นบจานวนเซลล

ทมเลขค

=SUM(IF(MOD(G4:G23,2)=0,1,0)) นบจานวนเซลล

ทมเลขค

=SUM(IF((F4:F23="yes")*(G4:G23>10),1,0))นบจานวนเซลล

แบบและ

=SUM((F5:F24="yes")*(G5:G24>10)) นบจานวนเซลล

แบบและ

257 

 

Copyright of www.ExcelExpertTraining.com 

=SUM((F4:F23="yes")+(F4:F23="no")) นบจานวนเซลล

แบบหรอ

สงเกตวาคานวณแบบหรอ ใชเครองหมายบวก สวนแบบและ ใช

เครองหมายคณ

14

=SUM(IF(MOD(ROW($A$1:$A$20),N)=0,$A$1:$A$20,0))

=SUM(IF(MOD(ROW($B$3:$B$22)-

ROW($B$3)+1,N)=0,$B$3:B$20,0))

=SUM(IF(MOD(ROW($B$3:$B$22)-

ROW($B$3),N)=0,$B$3:B$22,0))

รวมคาทกๆตาแหนงท N ตรงกน

15 =IF(COUNTIF($A$1:A1,A1)=1,A1,"")

แยกขอมลทไมซาออกมาแสดง

16 =IF(COUNTIF($A$1:$A$10,B1)>0,B1,"")

แยกขอมลทซากนจากตารางตางกนออกมาแสดง

17 =IF(COUNTIF($A$1:$A$10,B1)=0,B1,"")

258 

 

Copyright of www.ExcelExpertTraining.com 

แยกขอมลทอยในตารางหนง ซงไมซากบขอมลในอก

ตารางออกมาแสดง

18 =AVERAGE(IF((A1:A60>=Low)*(A1:A60<=High),A1:A60))

เฉลยคาทอยระหวาง Low ถง High

19 =AVERAGE(LARGE(A1:A60,ROW(1:10)))

=AVERAGE(LARGE(A1:A60,ROW(INDIRECT("1:10"))))

เฉลยคาทมากทสด 10 อนดบแรก

ใหเปลยน "1:10" เปน "1:N" เพอกาหนด N ลาดบแรกท

ตองการ

20 =AVERAGE(SMALL(A1:A60,ROW(INDIRECT("1:10"))))

เฉลยคาทนอยทสด 10 อนดบแรก

ใหเปลยน "1:10" เปน "1:N" เพอกาหนด N ลาดบแรกท

ตองการ

21 =SUM(IF(ISERR(data),1,0))

นบจานวนเซลลทมคา error

259 

 

Copyright of www.ExcelExpertTraining.com 

22

สตร คนคา

=SUM(E4:E13*F4,F13)

รวมผลคณของ

ตาราง E4:E13 คณ

ดวย F4:F13

=SUM((E4:E23)*(MOD(ROW(E4:E23)

-ROW(E4),2)=0))

รวมคาแบบบรรทด

เวนบรรทด

=SUM((E4:E23)*(MOD(ROW(E4:E23)

-ROW(E4),5)=0))

รวมคาทกๆบรรทดท

5 ของแตละชด

=SUM(IF(MOD(I4:I23;2)=0,I4:I23,0)) รวมคาเฉพาะคาท

เปนเลขค

=SUM(IF(MOD(I4:I23,2)<>0,I4:I23,0)) รวมคาเฉพาะคาท

เปนเลขค

=SUM(IF((E4:E23>50)*(H4:H23="North"),

E4:E23,0))

รวมคาเฉพาะคา

แบบและ

=SUM((E5:E24>50)*(H5:H24="North")

*E5:E24,0)

รวมคาเฉพาะคา

แบบและ

=SUM((H4:H23="North")*E4:E23

+(H4:H23="South")*E4:E23)

รวมคาเฉพาะคา

แบบหรอ

260 

 

Copyright of www.ExcelExpertTraining.com 

23 =OFFSET(List,MAX(ROW(RevList))-ROW(),0)

กลบลาดบคาในแนวตง

24 =OFFSET(RowList,0,MAX(COLUMN(RevRowList))-

COLUMN())

กลบลาดบคาในแนวนอน

RowList เปนตารางขอมลเดมตามแนวนอน,

RevRowList เปนตารางเกบคาทจดลาดบกลบขาง

25

=OFFSET(CList,COLUMN()-MIN(COLUMN(RList)),0)

=OFFSET(CList,MAX(COLUMN(RevRList))-

COLUMN(),0)

ตะแคงตารางแนวตง CList เปนแนวนอน RList

RevRList เปนตารางแนวตงทสลบคา

26

=OFFSET(RowList,0,ROW()-MIN(ROW(TXList)))

=OFFSET(RowList,0,MAX(ROW(TList))-ROW())

261 

 

Copyright of www.ExcelExpertTraining.com 

ตะแคงตารางแนวนอน RowList เปนแนวตง TXList

TList เปนตารางแนวนอนทสลบคา

27 =ADDRESS(MIN(IF(NumRange=MIN(NumRange),ROW(NumRange))),

COLUMN(NumRange),4)

Address ของคาทนอยทสดคาแรก

28

=ADDRESS(MAX(IF(NumRange=MIN(NumRange),ROW(NumRange)*

(NumRange<>""))),

COLUMN(NumRange),4)

Address ของคาทนอยทสดคาสดทาย

29 =ADDRESS(MIN(IF(NumRange=MAX(NumRange),ROW(NumRange))),

COLUMN(NumRange),4)

Address ของคาทมากทสดคาแรก

30 =ADDRESS(MAX(IF(NumRange=MAX(NumRange),ROW(NumRange)*

(NumRange<>""))),COLUMN(NumRange),4)

Address ของคาทมากทสดคาสดทาย

262 

 

Copyright of www.ExcelExpertTraining.com 

31 =INDEX(Rng,MATCH(MAX(COUNTIF(Rng,Rng)),COUNTIF(Rng,Rng),0))

คาทใชซามากทสด

32 =(MAX((DataRange2<>"")*ROW(DataRange2)))-

ROW(DataRange2)+1

นบจานวนบรรทดทมขอมล

33 =INDIRECT(ADDRESS(MAX((DataRange2<>"")*ROW(DataRange2)),

COLUMN(DataRange2),4))

คนคาสดทายลางสดในแถวตงแถวแรก

34 =INDIRECT(ADDRESS(MAX((DataRange2<>"")*ROW(DataRange2)),

COLUMN(DataRange2)+1,4))

คนคาสดทายลางสดในแถวตงแถวทสอง

3

5

=SUM(IF(FREQUENCY(IF(LEN(Range1)>0,MATCH(Range1,Range1,0),""

),

IF(LEN(Range1)>0,MATCH(Range1,Range1,0),""))>0,1))

นบจานวนคาทเปน Unique

263 

 

Copyright of www.ExcelExpertTraining.com 

36 =SUM(1/COUNTIF(A1:A10,A1:A10))

นบจานวนคาทเปน Unique กรณไมม blank

37 =SUM(N(FREQUENCY(A1:A10,A1:A10)>0))

นบจานวนคาทเปน Unique ใชกบตารางตวเลขหรอ

เซลลวาง

38

=ADDRESS(ROW(DataRange2),COLUMN(DataRange2),4)&":"&

ADDRESS(MAX((DataRange2<>"")*ROW(DataRange2)),

COLUMN(DataRange2)+COLUMNS(DataRange2)-1,4)

แสดง range ทมขอมล data เชน DataRange2 เปนตารางขอมล

H7:I25 โดยเซลล H7:I17 มตวเลขอย นอกจากนนเปนเซลลวาง

39

=RIGHT(A1,LEN(A1)-

MAX(ROW(INDIRECT("1:"&LEN(A1)))

*(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="

")))

แสดงคาสดทายขวาสด

40 =MID(A10,SMALL(IF(MID(" "&A10,ROW(INDIRECT

("1:"&LEN(A10)+1)),1)="

",ROW(INDIRECT("1:"&LEN(A10)+1))),

264 

 

Copyright of www.ExcelExpertTraining.com 

B10),SUM(SMALL(IF(MID(" "&A10&" ",ROW(INDIRECT

("1:"&LEN(A10)+2)),1)="

",ROW(INDIRECT("1:"&LEN(A10)+2))),

B10+{0,1})*{-1,1})-1)

แยกคาออกจากประโยค ซงมเครองหมายวรรคแยกแตละคา

41

=MID(A10,SMALL(IF(MID(" "&A10,ROW(INDIRECT

("1:"&LEN(A10)+1)),1)="

",ROW(INDIRECT("1:"&LEN(A10)+1))),

B10),SUM(SMALL(IF(MID(" "&A10&" ",ROW(INDIRECT

("1:"&LEN(A10)+2)),1)="

",ROW(INDIRECT("1:"&LEN(A10)+2))),

B10+C10*{0,1})*{-1,1})-1)

แยกคาลาดบทตองการออกจากประโยค

A10 เปนประโยคทมคาอย

B10 เปนเลขทคาเรมตนทตองการ

C10 เปนจานวนคาทตองการ เรมตนจาก B10

42 =SUM(IF(WEEKDAY(A2-1+ROW(INDIRECT("1:"&TRUNC(B2-

A2)+1)))=C2,1,0))

นบจานวนวนจนทรหรอวนอนๆ จากชวงเวลาทกาหนด

A2 เปนวนเรมตน

B2 เปนวนสนสด

C2 เปนเลขทของวนในสปดาห (1=Sunday,

265 

 

Copyright of www.ExcelExpertTraining.com 

2=Monday,...,7=Saturday)

43

=IF(ROW()-ROW(NoBlanksRange)+1>ROWS(BlanksRange)-

COUNTBLANK(BlanksRange),"",INDIRECT(ADDRESS(SMALL(

(IF(BlanksRange<>"",ROW(BlanksRange),ROW()+

ROWS(BlanksRange))),

ROW()-ROW(NoBlanksRange)+1),COLUMN(BlanksRange),4)))

ตดเซลลวางออกจากตาราง BlanksRange ใหเปนตารางใหม

NoBlanksRange เหลอเฉพาะเซลลทมคาเทานน

44 =SUM(IF(IF(B$5>=F6:F10,F6:F10-F5:F9,$B$5-F5:F9+1)>0,

IF(B$5>=F6:F10,F6:F10-F5:F9,$B$5-F5:F9+1),0)*G5:G9)

Progressive Pricing คานวณจานวนเงนทงหมด ใชหลก FIFO

สตรนมประโยชนอยางมาก ใชกบปญหาอนๆ เชน อตราภาษแบบ

กาวหนา การตด Stock แบบ FIFO

E F G H

4 Quantity UnitPrice

5 1 5

6 10 4

7 30 3

266 

 

Copyright of www.ExcelExpertTraining.com 

8 60 2

9 100 1

10 9999999

11

45

A B C D E

1 Part# ALPHA

portion

NUMERIC

portion

2 ab2 ab 2

{=LEFT(A2,

MIN(IF(ISNUMBER(

MID(A2,{1,2,3,4,5,6},1)

*1),{1,2,3,4,5,6},7))-

1)}

=RIGHT(A2,

LEN(A2) -

LEN(B2))*1

3 OP30 OP 30

{=LEFT(A6,

MIN(IF(ISNUMBER(

MID(A3,{1,2,3,4,5,6},1)

*1),{1,2,3,4,5,6},7))-

1)}

=RIGHT(A3,

LEN(A6) -

LEN(B6))*1

267 

 

Copyright of www.ExcelExpertTraining.com 

4 OP1221 OP 1221

{=LEFT(A8,

MIN(IF(ISNUMBER(

MID(A4,{1,2,3,4,5,6},1)

*1),{1,2,3,4,5,6},7))-

1)}

=RIGHT(A4,

LEN(A8) -

LEN(B8))*1

แยกคาทเปนตวอกษรออกจากตวเลข

46

=INDIRECT(ADDRESS( ROW(MyRange) +INT((ROW() -

ROW(CxRV))/COLUMNS(MyRange)),

COLUMN(MyRange)+MOD(ROW() -ROW(CxRV),

COLUMNS(MyRange)),4,,"Sheet1"))

=INDIRECT(ADDRESS( ROW(MyRange) +MOD(ROW() -

ROW(CxCV),ROWS(MyRange)),

COLUMN(MyRange)+INT((ROW() -

ROW(CxCV))/ROWS(MyRange)), 4,,"Sheet1"))

=INDIRECT(ADDRESS( ROW(MyRange) +INT((COLUMN() -

COLUMN(RxRV))/COLUMNS(MyRange)),

COLUMN(MyRange)+MOD(COLUMN() -COLUMN(RxRV),

COLUMNS(MyRange)), 4,,"Sheet1"))

=INDIRECT(ADDRESS( ROW(MyRange) +MOD(COLUMN() -

COLUMN(RxCV),ROWS(MyRange)),

COLUMN(MyRange)+INT((COLUMN() -

COLUMN(RxCV))/ROWS(MyRange)),4,,"Sheet1"))

ตะแคงตารางเปนแนวตง

268 

 

Copyright of www.ExcelExpertTraining.com 

MyRange เปนตารางขอมล มขนาด M rows และ N

columns

CxRV เปนตารางผลลพธ

47

=OFFSET($B$5,MIN(IF(COUNTIF($G$11:G11,$B$5:$GR$10)=0,

ROW($B$5:$GR$10)-

ROW($B$5))),MOD(MIN(IF(COUNTIF($G$11:G11,$B$5:$GR$10)=0,

ROW($B$5:$GR$10)- ROW($B$5) +(COLUMN($B$5:$GR$10)-

COLUMN($B$5))/1000)),1)*1000)

=INDEX(tbl,MIN(IF(COUNTIF($A$1:A1,tbl)=0,ROW(tbl)-

MIN(ROW(tbl))+1)),

MATCH(0,COUNTIF($A$1:A1,INDEX(tbl,MIN(IF(

COUNTIF($A$1:A1,tbl)=0,ROW(tbl) -MIN(ROW(tbl))+1)),,1)),0),1)

list of unique entries in an n * m array

48 =AND(NOT(ISNA(MATCH(Range1,Range2,0))))

ตรวจสอบวาขอมลใน Range1 แสดงใน Range2

49

=MMULT(N(ROW(INDIRECT("1:"&ROWS(A)))=TRANSPOSE(

ROWS(A)+1-ROW(INDIRECT("1:"&ROWS(A))))),A)

=MMULT(A,N(ROW(INDIRECT("1:"&COLUMNS(A)))=TRANSPOSE

269 

 

Copyright of www.ExcelExpertTraining.com 

(COLUMNS(A)+1-ROW(INDIRECT("1:"&COLUMNS(A))))))

กลบขางตาราง

50

=OR(A1=2,A1=3,ISNA(MATCH(TRUE,A1/ROW(INDIRECT(

"2:"&INT(SQRT(A1))))=

INT(A1/ROW(INDIRECT("2:"&INT(SQRT(A1))))),0)))

ตรวจสอบวาเปนตวเลข prime number

51 =MATCH(TRUE,EXACT("A",MyRange),0)

case-sensitive MATCH

52

17 = 5x + 3y + 2z

13 = 2x + 4y + z

22 = 3x + 2y + 5z

Put the coefficients of the unknowns in, e.g., A1:C3 (i.e., 5,3,2 in

A1:C1, 2,4,1 in A2:C2, etc.);

Put the constants (17, 13, 22) in, e.g., D1:D3;

Highlight, e.g., E1:E3 and array enter (i.e., enter with

Ctrl+Shift+Enter instead of just Enter)

=MMULT(MINVERSE(A1:C3,D1:D3)

and the solution vector (1,2,3) will appear in E1:E3; i.e., x=1,

y=2, z=3 For a set of equations that does not have a solution,

270 

 

Copyright of www.ExcelExpertTraining.com 

the #VALUE error will appear in E1:E3.

solve a set of simultaneous equations

53

=SUM(N(MATCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),

MID(A1,ROW(INDIRECT

("1:"&LEN(A1))),1),0)=ROW(INDIRECT("1:"&LEN(A1)))))=LEN(A1)

ตรวจสอบวาตวอกษรในเซลลมซากนหรอไม

54 =SUM(VALUE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))*10

^(ROW(INDIRECT ("1:"&LEN(A1)))-1))

กลบขางหลกตวเลข

55

A1:D1 = {1,2,3,4}

A5:D5 = {5,6,7,5}

=SUM({1,2,3,4}*{5,7,6,5}) = 57

=SUM(A1:D1*INDEX(A5:D5,5-COLUMN(A5:D5)))

สตรเพยนโดยไมทราบสาเหต เมอสรางสตรสดทายลงในเซลลเดยวจะ

คานวณผด ตองสรางสตรลงในเซลล 2 เซลล

56 =ROWS(iRng)-

ROW(OFFSET($A$1,,,ROWS(iRng),)).

271 

 

Copyright of www.ExcelExpertTraining.com 

กลบตาแหนงเซลล

57

=IF(T(OFFSET(iRng,ROWS(iRng)-

ROW(OFFSET($A$1,,,ROWS(iRng),)),,,))="",N

(OFFSET(iRng,ROWS(iRng)-

ROW(OFFSET($A$1,,,ROWS(iRng),)),,,)),T(OFFSET

(iRng,ROWS(iRng)-ROW(OFFSET($A$1,,,ROWS(iRng),)),,,)))

กลบตารางแนวตง

58 =LARGE(IF(MATCH(Rng,Rng,0)=ROW(Rng)-

MIN(ROW(Rng))+1,Rng,""),N)

Nth largest unique value in a column range

59 =SUM(N(FREQUENCY(IF(lookupRange="specifStr",

MATCH(colRange,colRange,0)), MATCH(colRange,colRange,0))0))

นบจานวนขอมล unique ซงมตวอกษรตามกาหนด

60

=SMALL(IF(MATCH(TheList,TheList,0)=ROW(TheList),

ROW(TheList),""),

ROW(INDIRECT("1:"&SUM(N(MATCH(TheList,TheList,0)=

ROW(TheList))))))-1

แยกขอมล Unique item ออกมา

272 

 

Copyright of www.ExcelExpertTraining.com 

61 =IF(SUBTOTAL(3,OFFSET(Rge,ROW(Rge)-

MIN(ROW(Rge)),,1)),Rge,"")

create an array of filtered items in a column list.

62

=IF(MONTH(DATE(y,m,1))<>MONTH(DATE(y,m,1)-

(WEEKDAY(DATE(y,m,1))-1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1),

"", DATE(y,m,1)-(WEEKDAY(DATE(y,m,1))-

1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1)

สรางปฏทนของเดอน

63 =SUM((WEEKDAY(DATE($B$2,$A3,ROW(INDIRECT("1:"&

DAY(DATE($B$2,$A3+1,0))))))=C$1)*1)

รวมจานวนวนของสปดาห C1 ในเดอน A3 และป B2 ท

กาหนด

64 =SUM(IF(ISNONTEXT(data),1))

จานวนเซลลทไมเปนตวอกษร

65 =SUM(IF(ISTEXT(data),1))

จานวนเซลลทเปนตวอกษร

273 

 

Copyright of www.ExcelExpertTraining.com 

66 =SUM(IF(ISLOGICAL(data),1))

จานวนเซลลทเปน logical

67 =SUM(IF(EXACT(data,text),1))

นบจานวนเซลล ซงม text ตรงกน

68 =SUM(IF(LEN(data)-

LEN(SUBSTITUTE(data,text,""))>0,1))

นบจานวนเซลล ซงม text ตรงกน แมบางสวน

69

=(SUM(LEN(data))-

SUM(LEN(SUBSTITUTE(UPPER(data),UPPER(text),""))))/LEN(text)

=(SUM(LEN(data))-SUM(LEN(SUBSTITUTE(data,text,""))))/LEN(text)

นบจานวนเซลล ซงม text ตรงกน ทงหมดหรอแมบางสวน

70 =INDIRECT(ADDRESS(ROW(Data)+MATCH(MIN(ABS(Target-

Data)),ABS(Target-Data),0)-1,COLUMN(Data)+ColOffset))

Closest Match

274 

 

Copyright of www.ExcelExpertTraining.com 

71 =SUM((MATCH(Grades,{"F","D","C","B","A"},0)-

1)*CreditHours)/SUM(CreditHours)

GPA

72 =ADDRESS(ROW(Data)+MATCH(Target,Data,0)-

1,COLUMN(Data))

ตาแหนงเซลลทมคาอยในตารางแนวตง

73 =ADDRESS(ROW(Data),COLUMN(Data)+MATCH(Target,Data,0)-

1)

ตาแหนงเซลลทมคาอยในตารางแนวตง

74 =INDEX(Code,

MATCH(Make&Model,Range1&Range2,0))

2 value lookup

75

=INDEX(Data, SMALL(IF(Data>0,

ROW(INDIRECT("1:"&ROWS(Data)))),

ROW(INDIRECT("1:"&ROWS(Data)))))

IF(ISERR( SMALL(IF(Data>0,

ROW(INDIRECT("1:"&ROWS(Data)))),

275 

 

Copyright of www.ExcelExpertTraining.com 

ROW(INDIRECT("1:"&ROWS(Data))))), "", INDEX(Data,

SMALL(IF(Data>0, ROW(INDIRECT("1:"&ROWS(Data)))),

ROW(INDIRECT("1:"&ROWS(Data))))))

สรปคาบวก

76

=IF(ISERR(SMALL(IF(Data<>"",ROW(INDIRECT("1:"&ROWS(Data)))),

ROW(INDIRECT("1:"&ROWS(Data))))),

"",INDEX(Data,SMALL(IF(Data<>"",

ROW(INDIRECT("1:"&ROWS(Data)))),

ROW(INDIRECT("1:"&ROWS(Data))))))

สรปคาทไมใชเซลลวาง

77

=IF(INDEX(Data,ROWS(Data) -

ROW(INDIRECT("1:"&ROWS(Data)))+1)="", "",

INDEX(Data,ROWS(Data) -

ROW(INDIRECT("1:"&ROWS(Data)))+1))

กลบตาแหนงคาในตารางแนวตง

78

=LARGE(Data,ROW(INDIRECT("1:"&ROWS(Data))))

=IF( ISERR( LARGE( Data, ROW( INDIRECT("1:"&ROWS(Data))))),

"", LARGE( Data, ROW( INDIRECT("1:"&ROWS(Data)))))

เรยงลาดบตวเลข จากมากไปนอย

276 

 

Copyright of www.ExcelExpertTraining.com 

79

=INDEX( data, SMALL( IF( MATCH(data,data,0) =

ROW(INDIRECT("1:"&ROWS(data))), MATCH(data,data,0), ""),

ROW(INDIRECT("1:"&ROWS(data)))))

Unique items in List

80 =SUM(LARGE(Data,ROW(INDIRECT("1:"&n))))

รวมคาทมากทสด n ลาดบแรก

81 =IF(OR(TheName=NameList),"Found","Not

Found")

ตรวจสอบวา มคา TheName อยใน NameList

82 =SUM(IF(MyData=YourData,0,1))

นบจานวนเซลลทมคาไมเทากน เมอเทยบ 2 ตาราง

83 =ADDRESS(MIN(IF(Data=MAX(Data),ROW(Data),

"")),COLUMN(Data))

ตาแหนงเซลลซงมคาสงสด

84 =MIN(IF(Data=MAX(Data),ROW(Data), ""))

277 

 

Copyright of www.ExcelExpertTraining.com 

เลขท row ของเซลลซงมคาสงสด

85 =SMALL(IF(Data=Value,ROW(Data), ""),n)

เลขท row ของเซลลซงมคาซากนครบ n ครง

86 =INDEX(Data,MATCH(MAX(LEN(Data)),LEN(Data),FALSE),1)

คายาวทสดในตาราง

87 =ISNA(MATCH(TRUE,ISNA(MATCH(MyList,Master,0)),0))

ตรวจสอบวา คาใน MyList มอยใน Master

88 =SUM(1*ISNA(MATCH(MyList,Master,0)))

จานวนเซลลของ MyList ซงไมมอยใน Master

89 =INDEX(MyList,MATCH(TRUE,ISNA(MATCH(MyList,Master,0)),0))

คาแรกของ MyList ซงไมมอยใน Master

90 =SUM(VALUE(MID(ABS(A1),ROW(INDIRECT

("1:"&LEN(ABS(A1)))),1)))

278 

 

Copyright of www.ExcelExpertTraining.com 

รวมตวเลขทกหลกในคาจานวนเตม

91

=MID(A4,MATCH(0,(ISERROR(MID(A4,

ROW(INDIRECT("1:"&LEN(A4))),1)*1)*1),0),LEN(A4)-

SUM((ISERROR(MID(A4, ROW(INDIRECT(

"1:"&LEN(A4))),1)*1)*1)))

แยกเฉพาะสวนตวเลขออกจากตวอกษร

92 =INDEX(Data,MATCH(SMALL(ABS(Target-

Data),1),ABS(Target-Data),0))

คาทใกลเคยงทสดกบคาทตองการ

93 =INDIRECT(ADDRESS(MAX((ROW(4:503)*

(A4:A503<>""))),COLUMN(A:A)))

คาลางสดใน column A แมจะไมไดอยตดกน

94 =INDIRECT(ADDRESS(6,(MAX((TRANSPOSE(

ROW(1:256))*(6:6<>""))))))

คาขวาสดใน row 6 แมจะไมไดอยตดกน

279 

 

Copyright of www.ExcelExpertTraining.com 

95 =SUM(1*(B6<=Sales))-(SUM(1*(B6=Sales))-1)/2

ลาดบทของคา โดยใชลาดบแบบเฉลยกรณซากน ตาง

จากการใชสตร =RANK(B6,Sales)

96 =SUM(IF($E6&F$5=Date&Category,Amount))

Dynamic crosstabulation

97 =LEN(A1)+1-MATCH(" ",MID(A1,LEN(A1)+1-

ROW(INDIRECT("1:"&LEN(A1))),1),0)

ตาแหนง space ขวาสด

98

=SUM((SUBTOTAL(9, INDIRECT(ADDRESS( ROW(E3),COLUMN(E3)

)&":"& ADDRESS( ROW(E3),

ROW(INDIRECT(COLUMN(E3)&":"&COLUMN(AI3))) )))<=B3)*1)+1

จานวนเซลล ซงยอดรวม Cumulative Sum คาในเซลล C3:G3 มคา

มากกวาหรอเทากบ คาในเซลล B3

99 =INDEX(คาทงหมด,SMALL(IF(คาทงหมด<0,ลาดบตวเลข),ลาดบ

ตวเลข),1)

คาตดลบ

280 

 

Copyright of www.ExcelExpertTraining.com 

100

=INDEX(Product, SMALL(IF((Type=YourType) *

(Account=YourAcct) * (Date>=YourDate) * ROW(INDIRECT("1:"&

ROWS(Product)))<>0, (Type=YourType) * (Account=YourAcct) *

(Date>=YourDate) * ROW(INDIRECT("1:"&ROWS(Product)))),

ROW(INDIRECT("1:"&ROWS(Product)))),1)

แยกขอมลซงมประเภท เลขทบญช วนท ตามตองการ

101

=INDEX(Type, LARGE(IF( NOT(ISBLANK(Type)),

MATCH(Type,Type,0)) * (IF( NOT(ISBLANK(Type)),

MATCH(Type,Type,0))=ROW( INDIRECT("1:"&ROWS(Type)))),

ROW(INDIRECT("1:"&SUM( IF( NOT(ISBLANK(Type)),

1/COUNTIF(Type,Type))))) ) )

Unique List

102 =INDEX(Product, MATCH( MAX(COUNTIF(Product,Product)),

COUNTIF(Product,Product), 0),1)

คาซงใชบอยทสด

281 

 

Copyright of www.ExcelExpertTraining.com 

การกาหนดขอบเขตตารางแบบยดหยน

งานทสรางขนดวย Excel ไมไดใชตาแหนงอางอง (Reference) เพอใชในสตรคานวณแตเพยง

อยางเดยว ตาแหนงอางองยงถกเรยกใชในคาสง Conditional Formatting, Data Validation,

Advanced Filter, Pivot Table, หรอในคาสงอนๆ แมแตในรหส Visual Basic for Applications

(VBA) ซงโดยทวไปเมอมการ Insert หรอ Delete row หรอ column หรอโยกยายตาแหนง

ตาราง จะสงผลใหตาแหนงอางองทใชเดมปรบเปลยนขนาดตามทนท และหากรจกใชชอในการ

กาหนดตาแหนงอางองจะชวยทาใหกาหนดตาแหนงอางองในสตรไดงาย และยงทาใหตาแหนง

อางองทใชในกราฟหรอ VBA ปรบขนาดตามไดอกดวย ชวยทาใหไมตองเสยเวลาสรางกราฟ

ใหมหรอตองยอนกลบมาแกไขรหส VBA อกแมแตนอย

ขอบเขตตารางแบบยดหยน หมายถง ขอบเขตตารางทสามารถยดไดหดไดตามจานวนรายการ

หรอปรมาณขอมลทมเพมลด ทาใหไมตองใชวธคอยๆ Insert เพม row เพอขยายพนทตาราง

ใหมเซลลวางเตรยมไวสาหรบขอมลในอนาคต หรอไมตองกาหนดขอบเขตตารางแบบฟ มเฟอย

โดยสรางสตรอางองกบทง column เชน

=VLookup( IDCode, A:D, 3)

ซงการกาหนดตาแหนงอางอง A:D เชนนจะทาใหสตรทางานชาลงอยางมากและยงทาใหแฟมม

ขนาดใหญขนโดยไมจาเปนอกดวย

ในบทความนขอแนะนาวธกาหนดขอบเขตตารางแบบยดหยน ตงแตวธ Dynamic Cell ไปจนถง

วธ Dynamic Range ซงใชสตร Offset, Index, Indirect, Address ชวยในการกาหนดขอบเขต

ตารางแบบอตโนมต

วธกาหนดตาแหนงเซลลแบบยดหยน (Dynamic Cell)

คนทวไปมกมองขามเรองพนฐานทนกวาไมสาคญหรอไมเคยคดวา Excel ทาไดไปใชสตร

Offset กาหนดขอบเขตตารางกนเลย โดยหารไมวาเมอนาตาแหนงเซลลของเซลลเพยงเซลล

เดยวหรอเซลลในแนวเดยวกนมาใชใหเปน จะทาใหเกดขอบเขตตารางแบบยดหยนไดเชนกน

แถมเปนวธทงายกวาเสยอกเพราะไมจาเปนตองใชสตร Offset ใหยงยาก

 

ตวอยา

ตวอยาง

ดานขาง

B3:B5

ในเซลล

C3:G7

เปนตาร

แนวคขน

แทนทจ

Left ขย

มเพมขน

ดงน

1.

2.

3.

าง

งนเปนตารา

งซายของตา

ดานซายขอ

ล C3 สรางส

ยอมพบวาส

รางทอยในข

นานของ To

จะดดแปลง

ยายขอบเขต

น ใหดดแปล

คลกเลอกเซ

เลอกคาสง

แกตาแหนง

Cop

งสตรคณซง

าราง โดยใช

องตารางวา

สตร =Top*

สตร =Top*

ขอบเขตแนว

op กบ Left

Top กบ Le

ตใหมขนาดต

ลงตาแหนง

ซลล C3

Formulas

งอางองของ

pyright of ww

งนาตวเลข 2

ชวธตงชอเซ

Left

*Left แลวเม

*Left สามาร

วคขนานตดก

ใหคาตอบเ

eft ใหเปน D

ตามคาตวเล

อางองของ

> Name M

Top =C$2

282 

ww.ExcelExp

2, 3, 4, 5 บ

ซลล C2:F2

มอ copy เซ

รถคานวณห

กนของ Top

เปน error ว

Dynamic Ra

ลขบนหวตาร

Top กบ Le

Manger

2 และ Left

pertTraining.c

บนหวตาราง

บนหวตารา

ซลล C3 ไป

าผลคณไดถ

p และ Left

วา #VALUE

ange ดวยส

รางและตวเล

eft ใหเปน D

=$B3

com 

งมาคณกบต

างวา Top แ

paste ลงไป

ถกตองเฉพา

เทานน สวน

E!

สตร Offset

ลขขางซายข

Dynamic Ce

ตวเลข 10, 2

และตงชอเซ

ปในเซลลตง

าะพนท C3

นสตรในเซล

เพอทาให T

ของตารางท

ell โดยมขน

20, 30

ลล

งแต

:F5 ซง

ลลนอก

Top กบ

ทอาจจะ

นตอน

 

เมอ To

ยอมหม

ชทโดย

หากตอ

คณ B2

ตาแหน

บางสวน

ตวอยา

ในกรณ

ตวเลขบ

p =C$2 จะ

มายถงทกเซ

ไมจาเปนต

งการยายตา

:G7 แตตอง

งอางองของ

นของ หากค

าง

ทตองการเป

บนหวตาราง

Cop

ะทาให Exce

ซลลใน colu

องกาหนดข

ารางสตรคณ

งเลอก Cut

ง Top ทงแ

ครอบคลมพน

ปลยนส colu

งทเปนเลขค

pyright of ww

el ถอวาทกเ

mn B มชอว

ขอบเขตตารา

ณนไปยง row

row 2:7 ไป

นว row ท 2

นททง row

umn ในตาร

283 

ww.ExcelExp

เซลลทอยใน

วา Left ทาใ

างของ Top

w อน ไมสา

ปวางท row

2 ไปพรอมก

ท 2 ทงหม

รางสตรคณใ

pertTraining.c

น row 2 มช

ใหสามารถใ

p กบ Left ต

ามารถใชวธ

w อน หรอใช

กน เพราะ T

มด

ใหมสเฉพาะ

com 

ชอวา Top แ

ใชสตร Top

ตามขนาดขอ

Cut เฉพาะ

ชวธ Insert r

Top มไดหม

ะแนวของ co

และเมอ Lef

*Left ไดทก

อมลอกตอไป

ะพนทตาราง

row เพอขย

ายถงแคพน

olumn ทอย

ft =$B3

กทใน

งสตร

ยบ

นท

ยใต

 

ใหเลอก

แบบ Us

ขอใหสง

คขนาน

ใส $ หน

ซงไดแ

หารดวย

เซลลนน

ซงเปนเ

ประโยช

Format

ใชคาสง

Validat

กพนทตวเลข

se a formu

=MOD(C$

งเกตตาแหน

กบพนท C3

นาตว C เพอ

กเซลล C2,

ยเลข 2 แลว

นเปนเลขค

เลขค

ชนของวธทา

tting กาหน

งนกบทละเซ

tion ทกาหน

Cop

ขผลคณตงแ

ula to deter

2,2)=1

นงเซลล C$

3:G7 ทเลอก

อควบคมให

, D2, E2, F

ว หากเหลอ

ทาให Cond

าใหเซลล C

ดเงอนไขให

ซลลหรอทล

นด Allow แ

pyright of ww

แต C3:G7 แ

rmine whic

$2 ในสตรนว

กไว และตอ

Excel นาต

2, และ G2

เศษเทากบ

ditional Fo

C$2 เปน Dy

หกบทงตารา

ละ column

บบ Custom

284 

ww.ExcelExp

แลวใชคาสง

ch cells to f

วาเปนเซลล

องกาหนดให

ตาแหนงเซล

นนคอตวเล

1 ยอมแสด

ormatting เป

ynamic Cell

างไดพรอมก

และยงสาม

m โดยใชสต

pertTraining.c

ง Home >

format แลว

ลแรกบนหวต

หใสเครองห

ลลถดไปใน

ลข 2, 3, 4,

ดงวาเลขในเ

ปลยนสเซล

l จะชวยทาใ

กนในทเดยว

ารถนาหลก

ตรตรวจสอบ

com 

Conditiona

วใชสตรตอไ

ตารางดานบ

มาย $ ไวหน

row ท 2 ม

5, 6 ตามลา

เซลลบนหว

ลลผลคณทอ

ใหใชคาสง

ว โดยไมจา

การนไปใชก

การบนทกค

al Formatti

ไปน

บนซงอยในแ

นาเลข 2 แ

าใชในการค

าดบ ซงเมอ

วตารางดานบ

อยใตเลข 3

Conditiona

าเปนตองเสย

กบคาสง Da

คาไดเชนกน

ing

แนว

ตไมได

คานวณ

อนามา

บน

และ 5

al

ยเวลา

ata

 

วธใช

ตามปก

Insert/

พบวาตา

เฉพาะจ

ทกาหน

Excel ท

ทง colu

ใน Exce

2010 ไ

Table ห

เพมใหโ

Format

กอนทจ

ภาพนไว

(ตามภา

พสจนว

ตามปรม

เมอตงช

> Table

table h

Table ก

ตเมอสรางส

/Delete ทาใ

าแหนงอางอ

จานวนรายก

นดไวในสตร

ทวไปจงมกแ

umn เผอไว

el 2003 แล

ไดตงชอคาส

หรอ Home

โดยอตโนมต

tting, Data

จะใชคาสง T

วกอน โปรด

าพนคอ MyD

าไมจาเปนต

มาณขอมลท

ชอ Range N

e โดย Exce

has headers

Cop

าหนดขอ

สตรอางองก

ใหเซลลหรอ

องทกาหนด

ารของขอม

มไดขยายห

แกไขโดยสร

ว สงผลใหแ

ละรนกอนนน

สงใหมเปน T

> Format

ต ชวยทาให

Validation

Table ควรต

ดสงเกตวา R

Data, Id, N

ตองตงชอไว

ทเพมขน

Name ไวกอ

el จะเลอก =

s ไวดวยแล

pyright of ww

บเขตตาร

บตาแหนงเ

อตารางนนเ

ดไวในสตรม

ลในตารางน

หรอลดขอบ

รางสตรทมข

ฟมนนมขนา

น มคาสง Da

Table (เปน

as Table ท

หตาแหนงอา

n, หรอแมแต

งชอ Range

Range Nam

Name, Amo

วกอนกยงได

อนเรยบรอย

=$B$2:$E$

ว เมอกดป ม

285 

ww.ExcelExp

รางโดยอ

ซลลหรอตา

เปลยนตาแห

การปรบตาแ

นนใหมจานว

เขตตารางต

ขอบเขตตาร

าดใหญและ

ata > List ไ

นคาสงทตาง

ทาให Excel

างองทกาห

ตใน Pivot T

e Name ให

me แตละชอ

ount และสา

ด) จงจะทาใ

ยแลว ใหคล

$3 เปนขอบ

ม OK จะเกด

pertTraining.c

อตโนมต

าแหนงตารา

หนงหรอมขน

แหนงตามให

วนรายการเพ

ตามปรมาณข

รางเผอไว บ

ะคานวณชาล

ไวใชชวยแก

จาก Data T

l ปรบขอบเข

นดไวในสต

Table ปรบข

หกบตารางฐ

อตองมขนาด

าเหตทไมตง

ให Table ข

กลงไปในต

บเขตตารางใ

ด Range Na

com 

าง จากนนเม

นาดพนทตา

หเอง แตถา

พมลด จะพบ

ขอมลทมอย

บางคนถงกบ

ลงผดปกต

กปญหาดงก

Table) โดย

ขตตารางตา

ร, Format,

ขนาดตามให

านขอมลทา

ดอยางนอย

งชอใหกบเซ

ขยายขอบเข

ารางฐานขอ

ใหเองพรอม

ame ชอ Ta

มอมการยาย

างไปจากเด

ามการเปลยน

บวาตาแหนง

ยแตอยางใด

บใชตาแหนง

กลาว สวนใน

ยสง Insert

ามปรมาณข

Condition

หทนท

างดานซายม

2 เซลลขน

ซลลของ Co

ขตของชอตา

อมลแลวสง

มกบกาชอง

able2 มตาแ

ยหรอ

ม จะ

นแปลง

งอางอง

ด ผใช

งอางอง

น Excel

>

อมลท

al

มอของ

ไป

ost เพอ

าราง

Insert

My

แหนง

 

อางอง

จานวนค

เมอบนท

ขยายตา

Conditi

แมคาสง

ฐานขอม

แบบพเศ

=SUM(

ใหสตรท

สตร =S

การยกเ

Conver

=SUM(

จงขอแน

Structu

นอกจาก

เดยว จง

C3:C4,

เซลลวา

บนทกข

ปรมาณ

=$B$3:$E

ครงทใชคาส

ทกขอมลเพ

ามใหอยางอ

ional Form

ง Table จะ

มลทดเทาน

ศษทเรยกวา

(Table2[Co

ทเคยใช Str

SUM(Table

เลก Table ท

rt to range

(Sheet1!$E

นะนาใหใช

ured Refere

กนโปรดสงเ

งจาเปนตอง

และ D3:D

างนอาจทาง

ขอมลไวตงแ

ณขอมลทมจร

Cop

$3 สรางขน

สง Table)

พมขน จะพบ

อตโนมต ชว

atting, Dat

มประโยชน

นน และผใชง

า Structure

ost]) จะคนค

ructured R

e2[Cost]) แ

ทาไดงายๆโ

แตถาเปลย

E$3:$E$7)

Range Nam

ence

เกตวา ในตว

งตงชอ Ran

D4 ซงเผอไว

งานผดพลาด

แต 2 รายกา

รงโดยไมตอ

pyright of ww

นโดยอตโนม

บวาชอ Rang

วยทาใหตาแ

ta Validatio

อยางมาก แ

งานควรทรา

ed Referen

คาเปนยอดร

Reference แ

แกกลบมาเป

โดยคลกขวา

ยนใจสง Ins

ไมเปลยนก

me ทตงชอ

วอยางนกอน

nge Name ช

วถง row 4 ท

ดกได ดงนน

ารขนไป และ

องเผอเซลล

286 

ww.ExcelExp

มต (ชอ Tab

ge Name ท

แหนงอางอง

on, หรอแม

แตกเหมาะก

าบเพมเตมอ

nce มาใชแท

รวมของ Cos

แกกลบมาใช

ปน =SUM(S

าลงไปในตา

sert > Tab

ลบไปเปน =

อขนมาเองไว

นการใชคาส

ชอ Id, Nam

ทเปนเซลลว

นเพอปองกน

ะตงชอ Ran

ลวางไวดวย

pertTraining.c

ble2 น จะม

ทงหมดมขอ

งทกาหนดไ

แตใน Pivot

บตารางเกบ

อกวา คาสงน

ทนตาแหนง

st หาตอมา

ชตาแหนงอา

Sheet1!$E$

ารางทเปน T

le ขนมาใหม

=SUM(Tab

วกอน จะยด

สง Table มข

me, และ Am

วาง ทาใหส

นปญหาน ค

nge Name

com 

เลขตอทาย

บเขตของต

วในสตร, Fo

t Table ปรบ

บขอมลซงบ

นจะทาใหเก

อางองแบบ

มการสงยกเ

างองตามปก

$3:$E$7)

Table แลวส

ม จะพบวาส

ble2[Cost])

ดหยนและถา

ขอมลบนทก

mount ใหก

สตรทใชตาแ

ควรใชคาสง

ใหกาหนดข

เพมขนทละ

าแหนงอาง

ormat,

บขนาดตาม

นทกไวเปน

กดตาแหนงอ

ปกต เชน

เลก Table

กตใหเอง ท

สง Table >

สตร

แตอยางใด

าวรกวาการใ

กไวเพยงรา

กบเซลล B3

แหนงอางอง

Table กบต

ขอบเขตไวเท

ะ 1 ตาม

อง

ใหทนท

อางอง

จะทา

ทาให

>

ด ดงนน

ใช

ยการ

:B4,

งรวมถง

ตารางท

ทากบ

 

อยางไร

ตารางย

ตามจาน

ขอบเขต

ลดลง

วธใชส

ตามปก

ตารางไ

Range

ทาใหส

ตาราง ใ

สมมตวา

ฐานขอม

(หรอตา

เมอตอง

แลวพม

ใชสตร

รกตามหากม

ยงคงมขนาด

นวนรายการ

ตตารางตาม

สตร IF ห

ตในสตร VL

ไดเพยงตารา

Name ชอ

ตร VLooku

ใหใชสตร IF

า มตารางฐา

มลของแตล

างชทกน) แ

งการคนหาข

พรหสลกคา

IF(Class="

Cop

มการลบเฉพ

ดคงเดม ทง

ทลดลงแตอ

มปรมาณขอม

หรอ Choo

Lookup, Ma

างเดยวในวง

MyData เป

up หรอสตรฐ

F หรอ Choo

านขอมลขอ

ละกลมมหนา

แลวตงชอตา

ขอมล ใหพม

าลงไปในเซ

"A", ClassA

pyright of ww

พาะตวขอมล

Range Na

อยางใด จงเ

มลทเพมโด

ose กาหน

atch, Offse

งเลบของสต

ปนตาแหนงต

ฐานขอมลส

ose ซอนเข

องลกคาหลา

าตาตารางเห

ารางวา Clas

มพชอ Class

ซลล B14 จะ

A, IF(Class=

287 

ww.ExcelExp

ลทงโดยไมไ

me และตา

เปนขอแมส

ดยอตโนมต

นดขอบเข

et, หรอสตร

ตร เชน สตร

ตารางฐานข

ตรใดๆสตรเ

ขาไปในสวน

ายๆกลมตาม

หมอนๆกน เ

ssA, ClassB

s A, B, หรอ

ะสามารถคน

="B", Class

pertTraining.c

ไดสง Delet

แหนงอางอ

าคญของกา

แตไมไดลด

ขตตาราง

ดานฐานขอ

ร =VLOOKU

อมลทตองก

เดยวสามารถ

นของ MyDa

มเกรดของล

เพยงแตจดเ

B, และ Clas

อ C ลงไปใน

นหาขอมลขอ

sB, ClassC

com 

te Row จะพ

งทใชในสต

ารใช Table

ดขนาดตามป

มลใดๆ สาม

UP($H$3,M

การคนหาคา

ถคนหาขอม

ta

ลกคา ซงลก

เกบแยกตาร

sC

นเซลล B10

อง Name แ

) ) ซอนลงไ

พบวาขอบเข

ตร ไมไดลดข

วาจะชวยข

ปรมาณขอม

มารถรบตาแ

MyData,2,0

าตอบ ถาตอ

มลจากหลาก

กษณะของต

รางไวตางพ

0 ซงตงชอว

และ Amoun

ไปในสตร

ขต

ขนาด

ขยาย

มลท

แหนง

0) ใช

องการ

กหลาย

าราง

นท

า Class

nt โดย

 

VLooku

กลายเป

ในเซลล

=VLOO

ในเซลล

=VLOO

หากไมต

คนหาข

ตวอกษ

เกดประ

การใชส

ขนมาได

ใชตวเล

เมอตอง

Class แ

โดยใชส

สามารถ

ในเซลล

=VLOO

up เพอทาให

ปนสตรดงน

ล C14

OKUP( $B$

ล D14

OKUP( $B$

ตองการเสย

อมลไดทนท

ษรทอยซายส

ะโยชนชวยล

สตร IF เพอ

ดยากและกล

ลขทตาราง 1

งการคนหาข

แลวพมพรห

สตร CHOO

ถเลอกไดวา

ล C14

OKUP( $B$

Cop

หสามารถเล

$14, IF(Cla

$14, IF(Cla

ยเวลาพมพช

ท ใหใชสตร

สดของรหสม

ลดขนตอนใน

เลอกพนทต

ลายเปนสตร

1, 2, หรอ 3

ขอมล ใหพม

สลกคาลงไ

SE(Class,C

จะหาขอมล

$14, CHOO

pyright of ww

ลอกไดวาจะ

ass="A", C

ass="A", C

ชอ Class เพ

ร =Left(C14

มาใชเปนชอ

นการใชงาน

ตารางหลาย

รยาวขนเรอ

3 มาใชเปนเ

มพเลขท Cl

ปในเซลล B

Class1,Class

จากตารางใ

OSE(Class,

288 

ww.ExcelExp

ะหาขอมลจา

ClassA, IF(C

ClassA, IF(C

พอเพมความ

4) สรางลงไ

อ Class ดงน

นอยางมาก

ๆแหงมาใช

ยๆ จงแนะน

เงอนไขแทน

ass 1, 2, ห

B14 จะสาม

s2,Class3)

ใดตามเงอน

,Class1,Cla

pertTraining.c

ากตารางใดต

Class="B",

Class="B",

มสะดวกใหใ

ไปในเซลล

นนการตงชอ

จะกลายเป

นาใหใหใชส

นชอตาราง A

หรอ 3 ลงไป

ารถคนหาข

ซอนลงไปใ

นไขเลขท Cl

ss2,Class3

com 

ตามเงอนไข

ClassB, Cl

ClassB, Cl

ชรหสในเซล

B10 ซงตงช

อรหสใหมคว

นสตร IF ซ

สตร Choose

A, B, หรอ C

ปในเซลล B

อมลของ Na

ในสตร VLo

lass กลายเป

3), 2, 0)

ขชอ Class

lassC) ), 2

lassC) ), 3

ลล B14 เล

ชอวา Class

วามหมายจะ

ซอนกน ทาให

e แทน IF แ

C

10 ซงตงชอ

ame และ A

ookup เพอท

ปนสตรดงน

2, 0)

3, 0)

อก

s เพอดง

ะทาให

หสราง

แตตอง

อวา

Amount

ทาให

 

ในเซลล

=VLOO

หากไมต

คนหาข

ตามภาพ

เลขรหส

Match

ล D14

OKUP( $B$

ตองการเสย

อมลไดทนท

พตอไปนคอ

ส Id เฉพาะ

=VLOOKU

Cop

$14, CHOO

ยเวลาพมพเ

ท ตองสราง

อเซลล F10

รหสตวแรกข

P(B14,Clas

pyright of ww

OSE(Class,

ลขท Class

ตารางสรปค

:G12 โดยต

ของแตละก

ssTable,2)

289 

ww.ExcelExp

,Class1,Cla

เพอเพมคว

ความสมพน

ตงชอวา Cla

ลม แลวใหใ

สรางลงไปใ

pertTraining.c

ss2,Class3

วามสะดวกให

ธระหวางรห

assTable ซง

ใชสตร VLo

ในเซลล B1

com 

3), 3, 0)

หใชรหสใน

หสกบเลขท

งม column

okup แบบ

10 ซงมชอว

เซลล B14

Class ขนม

ซายสดเรย

Approachi

วา Class

เลอก

าใชงาน

ยงลาดบ

ing

 

วธใชส

สตร Ind

ทตองก

ในตาแห

กาหนด

เชน =I

ตารางช

สตร Ind

จาเปนต

สตรในเ

=INDE

สตร Inde

dex เปนสต

าร เชน ตาม

หนง row ท

ตาแหนง ro

ndex(Cust

ชอ CustId1

dex ยงมโค

ตองอาศยสต

เซลล C11 ใ

EX( (Class1

ในสตรน พน

TrNum เปน

=MATCH(B

เลข 2 คอ เ

Class เปนเ

=VLOOKU

CHOOSE(C

ตามเลขทข

Cop

ex กาหน

ตรทาหนาทด

มภาพตวอย

3 ตดกบ c

ow หรอ col

tId1,3) จะด

(ทงน Cust

ครงสรางสตร

ตร If หรอ C

ใชหาชอลก

1,Class2,Cl

นทตารางสว

นเลขทตาแห

B11, CHOO

เลขชตาแหน

ลขทตาราง

P(B11, Cla

Class, Cust

ของ Class

pyright of ww

นดขอบเข

ดงคาออกมา

างตอไปน =

olumn ท 2

กใหกาหนด

ดงรหส a003

tId1 มลกษ

รแบบพเศษ

Choose เขา

คา g ตามรห

ass3), TrN

วนของ (Cla

หนงรายการ

OSE(Class,

นง column

ซงหามาจา

assTable, 2

tId1,CustId

290 

ww.ExcelExp

ตตาราง

าจากตาราง

=Index(Cla

2 ภายในพน

ดเลขตาแห

3 ออกมาเพ

ษณะเปน Sin

ซงชวยเลอ

ามาชวย เชน

หส b002 ท

Num, 2, Cl

ass1,Class2

รของรหส b

CustId1,C

ของชอลก

ก ClassTab

2)

d2,CustId3

pertTraining.c

ทกาหนดตา

ass1,3,2) จ

ทตารางชอ

นงรายการท

พราะรหสนมต

ngle Colum

อกตาแหนงต

ทพมพลงไป

ass)

2,Class3) เป

b002 ทพมพ

CustId2,Cus

คา

ble ดวยสตร

) ทาหนาทเ

com 

ามตาแหนง

จะดงชอ c อ

Class1 หร

ทตองการแท

ตาแหนงเปน

mn จากเซลล

ตารางทตอง

ในเซลล B1

ปน 3 ตาราง

พไวในเซลล

stId3), 0)

เลอกตาแหน

row และ c

ออกมาใหเพ

รอถาไมตอง

ทนเพยงคาเ

นลาดบท 3

ล B3:B7)

งการไดทนท

11

งทตองการเ

B11 มาจา

นงตารางรห

column

พราะอย

การ

เดยว

ใน

ทโดยไม

เลอก

กสตร

หสลกคา

 

นอกจาก

หรอแนว

=Index

จะไดคา

=Index

จะไดคา

วธใชส

สตร VL

ตารางซ

ชวยทาใ

แตจะไม

สวนการ

ตาแหน

สตร Of

และสาม

แตมขอ

รวมกบแ

จากภาพ

กนถาสรางส

วตงไดอกด

x(Class1, 0

าทก row ข

x(Class1, 3

าทก colum

สตร Offs

Lookup และ

ซงกาหนดขอ

ใหสตร VLo

มรบรขอบเข

รใชคาสง Ta

งอางองตาม

ffset เปนสต

มารถนาไปใ

จากดวา หา

แฟมปลายท

พนเมอตองก

Cop

สตร Index

วยโดยกาห

0, 3)

อง column

3, 0)

n ของ row

set กาหน

ะสตร Index

อบเขตไวตา

ookup และส

ขตใหมหากภ

able เหมาะ

มจานวนราย

ตรทชวยกาห

ใชกบตาราง

ากใชสตร O

ทางทใชสตร

การขอบเขต

pyright of ww

แบบ Array

นดเลขท ro

n ท 3 คอ ยอ

w ท 3 คอ รห

นดขอบเข

x มลกษณะ

ายตวอยแลว

สตร Index

ภายหลงมกา

ะสาหรบตาร

ยการ แตจะไ

หนดขอบเขต

ทกประเภท

Offset ดงขอ

รนดวยเสมอ

ตตารางตงแ

291 

ww.ExcelExp

y จะทาหนาท

ow หรอ col

อด Amoun

หส a003 =

ขตตารางแ

การใชงานเ

ว แมจะนาส

สามารถเลอ

ารเพมลดจา

รางฐานขอม

ไมลดขนาดเ

ตตารางใหส

โดยไมจาก

อมลขามแฟม

ต B3:D7 ให

pertTraining.c

ทหาตาแหน

umn ใหเท

nt ={10;20

{"a003","c

แบบยดห

หมอนกนปร

สตร IF หรอ

อกพนทตาร

านวนรายกา

ลซงมลกษณ

เวนแตวาผใ

สามารถเพม

กดวาจะตอง

มมาใช จะต

หใชสตร =O

com 

นงตารางทงห

ากบ 0 เชน

;30;40;50}

c",30}

ยน (Dyn

ระการหนง ค

Choose เข

างจากตางพ

ณะถกตองแ

ใชจะสง dele

ลดขนาดตา

เปนตารางฐ

ตองเปดแฟม

OFFSET($B

หมดตามแน

} หรอ

namic Ra

คอ ใชกบพน

ขามาชวยกเป

พนทกนมาใ

และจะชวยข

ete row

ามจานวนรา

ฐานขอมลเท

มตนทางขนม

B$3,0,0,5,3

นวนอน

ange)

นท

ปนเพยง

ใชงาน

ยาย

ยการ

ทานน

มาใช

3)

292 

 

Copyright of www.ExcelExpertTraining.com 

• $B$3 เปนตาแหนงเซลลอางองเพอกาหนดเซลลอางองเรมตนของตาราง

• เลข 0 ตวแรกในสตร เปนตาแหนงจานวน row ถดไป สาเหตทใชเลข 0 เพอชวา

จดเรมตนของตารางยงคงอยใน row เดยวกนกบเซลลอางองเรมตนของตาราง $B$3

• เลข 0 ตวทสองในสตร เปนตาแหนงจานวน column ถดไป สาเหตทใชเลข 0 เพอชวา

จดเรมตนของตารางยงคงอยใน column เดยวกนกบเซลลอางองเรมตนของตาราง

$B$3

• เลข 5 เปนสวนของความสงของตาราง ในทนแสดงวามความสง 5 row

• เลข 3 เปนสวนของความกวางของตาราง ในทนแสดงวามความกวาง 3 column

หากตองการใหสตรนปรบขนาดแบบยดหยน (Dynamic Range) โดยทวไปเฉพาะสวนของ

ความสงของตารางเทานนทจะเพมลดตามจานวนรายการทบนทกไว เมอตองการทาใหสตร

Offset ปรบขนาดความสงตาม สามารถหาความสงไดหลายวธ ดงน

1. สตร CountA($B:$B)-1 เพอนบจานวนเซลลใน column B ทมขอมลแลวลบทงเสย 1

เพราะไมตองการนบรวมหวตารางเซลล B2 ซงมคาวา Id

2. ใชสตร CountA($B$3:$B$10000) เพอนบจานวนเซลลทมขอมลตงแตรายการแรกลง

มา อาจเผอขนาดไวถง row 10000

การใชสตร CountA ใหเลอกใชกบ column ทมนใจวามขอมลบนทกไวครบทกรายการเสมอ

หามมเซลลเวนวางแทรกอยางเดดขาด ซงโดยทวไปในตารางหนงๆตองม column หนงซงตอง

บนทกครบทกรายการอยแลว โดยเฉพาะ column ของรหสหรอวนท

หากเปนตารางซงมชองวางแทรกไวไมแนนอน สามารถคานวณหาความสงของตารางได โดย

ใชสตร Array {=MAX(IF(B:D<>0,ROW(B:D)))-MIN(IF(B:D<>0,ROW(B:D)))}

• สตร Array { =MAX(IF(B:D<>0,ROW(B:D)))} หาเลขท row สดทายของตาราง

• สตร Array { =MIN(IF(B:D<>0,ROW(B:D)))} หาเลขท row แรกของตาราง

หมายเหต สตร Array มวงเลบปกกาปดหวทายสตร เกดจากการกดป ม Ctrl+Shift+Enter

พรอมกนแทนการกดป ม Enter และอาจตองปรบเพมลดตวเลขใหเทากบความสงทแทจรงหาก

ตารางในชวง column B:D มขอมลอนซงไมเกยวของบนทกอย

293 

 

Copyright of www.ExcelExpertTraining.com 

เมอหาความสงของตารางดวยสตรไดแลว จากเดมทเปนสตร =OFFSET($B$3,0,0,5,3) ใหนา

สตรคานวณหาความสงมาซอนกนกลายเปนสตร

=OFFSET($B$3,0,0, CountA($B:$B)-1, 3)

หรอจะลงคเฉพาะผลลพธของความสงทคานวณไดมาใชกได กลายเปนสตร

=OFFSET($B$3,0,0, เซลลหาความสง, 3)

สตร Offset ททาหนาทเปน Dynamic Range น หากสรางลงไปในเซลลเดยวจะเกด error

#VALUE! เสมอ เนองจากสตรนหาคาหลายคามาใหจงไมสามารถแสดงครบทกคาในเซลลใด

เซลลหนงได หากตองการตรวจสอบวาสตรทางานไดถกตองหรอไม ใหกดป ม F2 ตามดวย F9

จะพบวาสตรคนคาเปนคาทงหมดในตารางนนออกมาใหเหนแบบ Array

={"a001","a",10;"a002","b",20;"a003","c",30;"a004","d",40;"a005","e",50}

เมอเหนคาทแทจรงของสตรแลว ใหกดป ม Esc เพอแกกลบคนเปนสตรตามเดม

อกวธหนงในการตรวจสอบสตร ใหคลกลงไปในชอง Formula Bar ลากเลอกสตรทงหมด

=OFFSET($B$3,0,0, CountA($B:$B)-1, 3) แลวกดป ม F5 แลวกดป ม Enter เพยงครงเดยว

จะพบวา Excel เปลยนสตร Offset เปนตาแหนงอางอง =B3:D7 พรอมกบแสดงตาแหนงใน

ตารางใหเหน จากนนใหกดป ม Esc เพอแกกลบคนเปนสตรตามเดม

เมอพบวาสตร Offset แสดงคาหรอชตาแหนงไดถกตอง ใหตรวจสอบตาแหนงอางองทก

ตาแหนงในสตรวาเปน Absolute Reference เชน $B$3 และ $B:$B กอน จากนนจงนาสตรน

ไปตงชอใหเปน Formula Name โดยใชคาสง Formulas > Define Name ตอมาเมอตองการ

สรางสตร VLookup, Match, หรอ Index ใหนาชอ Formula Name ทตงขนนไปใชแบบ

เดยวกบการใชชอ Range Name โดยทวไป

 

ถาตองก

row, co

นอกจาก

(ไมจาเป

ทศทาง

การปรบสตร

olumn, ควา

=OFFSET(

=OFFSET(

=OFFSET(

=OFFSET(

=OFFSET(

=OFFSET(

=OFFSET(

=OFFSET(

=OFFSET(

=OFFSET(

=OFFSET(

กน ผใชสตร

ปนตองใชเซ

เพยงกาหน

Cop

ร Offset ให

ามสง และค

($B$3,2,0)

($B$3,4,2)

($B$3,2,0,1

($B$3,4,0,1

($B$3,2,0,2

($B$3,0,0,

($B$3,0,1,

($B$3,0,2,

($B$3,0,0,

($B$3,0,1,

($B$3, Cou

ร Offset สา

ซลล B3 ซง

นดจานวน ro

pyright of ww

คนคาเปนพ

วามกวางใน

หมายถง B

หมายถง D

1,3) หมายถ

1,3) หมายถ

2,3) หมายถ

CountA($B

CountA($B

CountA($B

CountA($B

CountA($B

untA($B:$B

ามารถกาหน

งเปนเซลลแ

ow ถดไปห

294 

ww.ExcelExp

พนทตารางเพ

นสตร เชน

B5

D7

ถง B5:D5

ถง B7:D7

ถง B5:D6

B:$B)-1, 1)

B:$B)-1, 1)

B:$B)-1, 1)

B:$B)-1, 2)

B:$B)-1, 2)

B)-2,0,1,3)

นดตาแหนงเ

แรกของรายก

รอเลข colu

pertTraining.c

พยงบางสวน

) หมายถง B

) หมายถง C

) หมายถง D

) หมายถง B

) หมายถง C

หมายถง B

เซลลอางอง

การแรก) แล

umn ถดไปใ

com 

น ใหปรบสว

B3:B7

C3:C7

D3:D7

B3:C7

C3:D7

B7:D7 หรอร

งเซลลแรกไ

ละยงสามาร

ใหเปนคาลบ

วนของตาแห

รายการสดท

ไวทเซลลใด

รถใชหาคาใน

หนง

ทาย

ดกได

นทก

 

วธใช

แมสตร

ปรมาณ

ผใชงาน

จากภาพ

สามารถ

จากเดม

ทาใหตา

อาจกระ

มลาดบ

เรมตนจ

มมซาย

ตามลาด

นาตาแห

ตาแหน

สตร Ind

Text กา

Offset จะช

ณขอมลหรอจ

นอาจตองกา

พนสมมตวา

ถใชสตร =S

มกตองแกไข

าแหนงอางอ

ะทบกบพนท

เซลลทอาง

จากใชสตรใน

บนสด(First

ดบ

หนงอางองท

งอางอง $B

direct

Cop

หนดขอบ

ชวยกาหนดข

จานวนรายก

ารกาหนดขอ

ตองการหาย

SUM(B2:F1

ขตาแหนงอา

องในสตร S

ทตารางใกล

องไวผดเพ

นเซลล I2 แ

t)และเซลล

ทไดมาเชอม

B$2:$F$15

pyright of ww

บเขตตารา

ขอบเขตตาร

ารทบนทกไ

อบเขตตารา

ยอดรวมของ

5) ไดอยแล

างองในสตร

Sum ปรบตา

เคยงทอยใน

ยนไปจากท

และ I3 =Ce

หวมมขวาล

มตอกนในเซ

ซงมลกษณ

295 

ww.ExcelExp

างแบบยด

รางใหอตโน

ไว ซงในบาง

างใหแปรเปล

งตวเลขในพ

ลว เมอตองก

ร หรอสง In

าม แตผลจา

นแนวเดยวก

ทควรกได

ell(“Addres

ลางสด(Last

ซลล I4 ดวย

ณะเปน Text

pertTraining.c

ดหยน (D

นมตกตาม แ

งกรณอาจไม

ลยนไปตาม

พนทตารางจ

การเพมลดข

nsert/Delete

กการ Inser

กนและทาให

ss”,cell) หา

t) จะไดตาแ

ยสตร =Firs

t ทบอกตา

com 

Dynamic

แตขอบเขตท

มตรงกบควา

เงอนไขพเศ

จาก B2:F15

ขนาดตาราง

e Row หรอ

rt/Delete R

หตอง Copy

าตาแหนงอา

แหนงอางอง

stCell&":"&

แหนง พรอ

Range)

ทไดขนอยก

ามตองการ

ศษ

5 ซงตามปก

B2:F15 ให

อ Column ซ

Row หรอ C

y สตรทสราง

างองของเซ

$B$2 และ

&LastCell ท

อมทจะนาไป

บางครง

กต

หตางไป

ซงยอม

olumn

งไวเดม

ซลลหว

ะ $F$15

าใหได

ปใชกบ

 

เมอตอง

=INDIR

สตรอนใ

หากตอ

ตองการ

จากภาพ

Sum หา

ประเดน

จากฝมอ

เปนตาแ

Offset

เมอซอน

คอเลข

งการหายอด

RECT($I$4

ใดกได โดย

งการปรบเป

พนเมอยายเ

ายอดรวมใน

นสาคญมไดข

อของมนษย

แหนงของเซ

ซอนเขาไป

=CELL("Ad

นสตร INDE

22 จากพน

Cop

ดรวม ใหใชส

4) ไปตงชอเ

ยไมจากดเฉ

ปลยนขนาดต

เซลล First

นขอบเขตตา

ขนกบการสง

ย แตขนกบก

ซลลทกาหน

กจะไดตาแห

ddress",IN

EX(MyNum

ทตารางชอ

pyright of ww

สตรในเซลล

เปน Formu

พาะสตร Su

ตาราง ใหยา

กบ Last ไป

าราง C5:E9

งยายเซลลไ

การใชสตร =

นดไวภายใน

หนงเซลลแ

DEX(MyNu

,FirstRow)

MyNum ม

296 

ww.ExcelExp

ล I6 =SUM

ula Name เพ

um

ายเซลล Fir

ปวางไวทเซ

9 ตามไปดว

ไปตาแหนง

=Cell(“Add

วงเลบของส

แปรเปลยนต

um,FirstRow

) เขาไปในส

าเปนการบอ

pertTraining.c

(INDIRECT

พอเพมความ

rst หรอ Las

ซลล C5 และ

อน เพราะก

dress”,cell)

สตร เมอใชส

ามใหทนท

w))

สตร Cell จะเ

อกตาแหนง

com 

T(I4)) หรอจ

มสะดวกในก

st ไปวางลง

ะ E9 ตามลา

ารสงยายเซ

ตางหาก เพ

สตร IF, Ch

เชน

เปลยนหนาท

เซลล B3

จะนาสตร

การนาไปใช

งในตาแหนง

าดบ จะทาใ

ซลลยอมตอ

พราะสตรนจ

oose, Inde

ทจากการห

ชรวมกบ

งท

ใหสตร

งเกด

จะคนคา

ex, หรอ

าคาท 2

 

ในหลก

งานบนท

รายละเ

คาทจาเ

มาแสดง

อยางไร

พนกงาน

คาสง D

เปลยนส

หากตอ

ซงเตรย

เลอก A

Formul

ให Exc

การบนทกข

ทกขอมลสน

อยดของสน

เปนตองพม

ง โดยใชสต

รกตามมบาง

นหลายๆคน

Data Valida

สเซลลทมค

งการสงให

ยมไวสาหรบ

Allow แบบ C

la โดยไมตอ

el ใชตาแห

Cop

ขอมลทดตอ

นคาทขาย จ

นคาไปใชทเ

พซามเพยง

ตร VLookup

งงานทผใช

นชวยกนบนท

ation เพอปอ

คาซา โดยใช

Excel เตอน

บบนทกขอม

Custom แล

องใสเครอง

นงถดไปใน

pyright of ww

การจ

งควบคมกา

จะมตารางบน

ซลลอน ไม

งรหส พอพม

p, Match, I

Excel อาจเ

ทกขอมล เค

องกนหรอเต

ชงานรวมกบ

นเมอมการพ

ล จากนนสง

ลวพมพสตร

หมาย $ ใน

การตรวจสอ

297 

ww.ExcelExp

ดการ

ารบนทกคาซ

นทกรายละ

มจาเปนตองพ

มพรหสลงไป

Index, หรอ

เผลอพมพค

ครองมอทใช

ตอนการบนท

บสตร Count

พมพคาซา ใ

ง Data > D

=COUNTI

นสวนของ B3

อบใหเอง

pertTraining.c

คาซา

ซาใหเกดขน

เอยดของสน

พมพรายละ

ปแลวใหใชส

สตรอนๆดง

าซา โดยเฉ

ชชวยเตอนท

ทกซาและ C

tIF

หเรมจากเล

Data Valida

F($B$3:$B

3 ทอยดานท

com 

นไดเทาทจา

นคาเอาไว จ

เอยดของสน

สตรดงขอมล

รายละเอยด

ฉพาะงานทต

ทนททมการ

Conditiona

ลอกพนทตาร

ation > Dat

B$15,B3)=1

ทายในวงเล

าเปนเทานน

จากนนเมอต

นคานนๆซา

ลของรหสส

ดของรหสมา

ตองกระจาย

รบนทกคาซา

l Formattin

รางตงแต B

ta Validatio

1 ลงไปในช

ลบของสตร

น เชนใน

ตองการ

าอก

สนคานน

าแสดง

ให

าไดแก

ng เพอ

B3:B15

on

ชอง

เพอทา

 

ถาตองก

Home

determ

คนคาเป

โปรดสง

กบ Con

=COUN

เพยงคา

เพอเตอ

Data V

Data V

เทานน

เมอใดก

ปราการ

ในภาพต

ชดเจนข

การเปลยนส

> Conditio

mine which

ปน True ยอ

งเกตวาถาใช

nditional Fo

NTIF($B$3

าเดยวคอนบ

อนเมอมคาซ

Validation เป

Validation จ

แตจะไมตร

กจะเหนสใน

รดานสดทาย

ตอไปหากต

ขน

Cop

สเซลลทมกา

onal Forma

cells to fo

อมแสดงวาส

ช Data Val

ormatting

:$B$15,B3

บแลวเทากบ

ซาคอเมอนบ

ปนเครองมอ

จะชวยตรวจส

วจสอบหาก

เซลลเปลยน

ยของการตร

ตองการเปลย

pyright of ww

ารบนทกคา

tting > Ne

rmat แลวใ

สตร CountI

idation จะใ

ตองเปลยนส

3)>1 เพราะ

บ 1 คาเทาน

บแลวทคามา

อทควรนามา

สอบคาซาให

กมการ copy

นแปลงตางไ

รวจสอบอกช

ยนสเซลลเพ

298 

ww.ExcelExp

ซา ใหเรมจ

ew Rule โด

ชสตร =CO

IF นบขอมล

ใชสตร =CO

สมการจากเ

Data Valid

นน สวนการใ

ากกวา 1

าใชรวมกบ C

หตอเมอเกด

y คาซาวางล

ไปจากเดมจ

ชนหนง

พอชวยแสด

pertTraining.c

ากเลอกพน

ยเลอกใชเง

OUNTIF($B

ลแลวพบวาม

OUNTIF($B

เทากบ 1 เป

dation จะย

ใช Conditio

Conditiona

ดคาซาขนจ

ลงไปแตอยา

จากคาสง C

ดงตาแหนงข

com 

นทตารางตงแ

งอนไขแบบ

$3:$B$15,

มคาซาจรง

B$3:$B$15

ปนมากกวา 1

อมใหบนทก

onal Forma

al Formattin

ากการพมพ

างใด ดงนน

Conditional

ขอมลรายกา

แต B3:B15

Use a form

B3)>1 ซงถ

,B3)=1 แต

1 แทน ดวย

กคาตอเมอน

atting จะเป

ng เสมอ เน

พลงไปในตา

นเมอเกดคาซ

Formattin

ารทตองการ

5 แลวสง

mula to

ถาสตรน

ตเมอใช

ยสตร

นบแลวม

ลยนส

นองจาก

ราง

ซาขน

g เปน

ใหเหน

 

ตารางด

ตงแต B

แบบ Us

เซลล G

ใชนจงก

ซงในสต

ดานซายมอเ

B3:E20 แลว

se a formu

G3 เปนเซลล

กาหนดตาแห

ตรนกาหนด

Cop

เปนตารางฐา

วสง Home

ula to deter

ลทใชกรอก

หนงแบบคง

ใหเลอนตา

pyright of ww

านขอมล ให

> Conditio

rmine whic

รหสทตองก

งท $G$3 เอ

แหนงไปเรอ

299 

ww.ExcelExp

หเลอกพนท

onal Forma

ch cells to f

การใชสบอก

อาไว สวนเซ

อยๆใน colu

pertTraining.c

ตารางเฉพา

atting > Ne

format แลว

กตาแหนง ด

ซลล C3 เปน

umn C จงตอ

com 

าะสวนของร

ew Rule โด

วใชสตร =$

งนนในสตร

นเซลลแรกข

องใช $C3

รายการทงห

ดยเลอกใชเง

$C3=$G$3

ร =$C3=$G

ของรายการ

มด

งอนไข

G$3 ท

รหส ID

 

การหา

สตร VL

หากนาไ

> Adva

รายละเ

สตร Mu

สตร Mu

ละเอยด

ขนตอน

ตารางด

a001 ถ

เหลานส

ไวในเซ

ตวอยาง

B3:B20

ตองการ

าเลขตาแ

Lookup และ

ไปใชกบตาร

anced หรอ

อยดของขอ

ultiple Matc

ultiple Matc

ดหลายครงห

นการสรางทล

ดานซายมอข

ถกบนทกไวใ

สามารถหาไ

ซลล L3:L12

งนใชการตง

0, C3:C20,

รคนหาตาแห

Cop

แหนงราย

ะสตร Match

รางทมขอม

Filter จะทา

อมลทซากน

ch

ch ถอเปนส

หลายโอกาส

ละขนกบตา

ของภาพนเป

ในรายการท

ไดดวยสตร M

2 แบบ Arra

งชอ Range

D3:D20, แ

หนงรายการ

pyright of ww

การขอมล

h มจดออนต

ลซาจะใหค

างานตอเมอ

ในทนททมก

สตรทถกถาม

สแลวกตาม

ตวเอง

ปนตารางฐา

1, 6, 9, 1

Multiple Ma

y

Name วา N

และ E3:E20

300 

ww.ExcelExp

ลทซาดวย

ตรงทสตรเห

าตอบของข

อถกสงใหมเ

การเปลยนแ

มกนบอยครง

มกไมเขาใจ

นขอมลซงม

1, และ 15

atch {=SM

Num, ID, N

0 ตามลาดบ

pertTraining.c

ยสตร Mu

หลานจะทาง

ขอมลรายกา

เปนครงๆไป

แปลง ตองห

งมาก ถงแม

จวาสตรนสร

มคาซากนบ

โดยตวเลขต

MALL(IF(ID

Name, และ

บ สวนเซลล

com 

ultiple M

งานกบขอมล

รแรกทซาก

ดงนนหาก

หนมารจกกบ

ไดเคยเขยน

รางกนไดอย

นทกไว เชน

ตาแหนงราย

=G3,Num)

ะ Amount ใ

G3 เปนเซล

Match

ลทไมซาเท

กน สวนคาส

ตองการแสด

บสตรทเรยก

นอธบายไวอ

ยางไรหากไม

น ขอมลของ

ยการของรห

),Num)} ซ

ใหกบพนทข

ลลรบคารหส

านน

ง Data

ดง

กกนวา

อยาง

มไดเหน

งรหส

หส a001

งสราง

ขอมล

สท

 

เพอแสด

คานวณ

Step3 ด

Step1

Ctrl+Sh

True ค

Step2

J3:J20

ปกกาป

กลายเป

Step3

Small โ

Ctrl+Sh

เมอนาส

{=SMA

L3:L20

จานวน

จากนนใ

ดงใหเหนทไ

ณหลายขนตอ

ดงน (เวลาใ

: เรมจากเล

hift+Enter

ขนานตรงก

: ปรบตาแห

พรอมกนแล

ดหวทายสต

ปนเลขตาแห

: นาตวเลข

โดยเลอกเซ

hift+Enter

สตรจาก Ste

ALL(IF(ID=

ทยาวลงมา

row จากเซ

ใหใชสตร I

Cop

ไปทมาของ

อนและแตล

ใชงานจรงไม

ลอกเซลล I

จะมวงเลบป

บตาแหนงร

หนงทเปน T

ลวสรางสตร

ตรกลายเปน

หนงรายการ

ขตาแหนงรา

ซลล K3:K20

จะมวงเลบป

ep1 – Step

=G3,Num),N

าถง row 20

ซลล L3:L12

ndex ดงขอ

pyright of ww

งสตร {=SM

ะขนทาหนา

มจาเปนตอง

3:I20 พรอม

ปกกาปดหว

ายการทมรห

True จาก S

ร =IF(I3:I2

น {=IF(I3:I

1, 6, 9, 11

ายการจาก S

0 พรอมกนแ

ปกกาปดหว

3 มาซอนกน

Num)} ทงน

0 เชนทใชก

2 หรอ 10 ro

อมลตามลาด

301 

ww.ExcelExp

MALL(IF(ID

าทหาคาอะไ

งสรางสตรเห

มกนแลวสร

วทายสตรกล

หส a001

Step1 ใหเป

20,Num) แล

I20,Num)}

1, 15 ขนมา

Step2 มาเรย

แลวสรางสต

วทายสตรกล

นจะกลายเป

นโปรดสงเก

บสตรใน St

ow เทาทคด

ดบรายการท

pertTraining.c

=G3,Num)

ไรบาง ขออธ

หลานแตอย

รางสตร =ID

ลายเปน {=I

นเลขทรายก

ลวกดป ม Ct

จะพบวาตา

าใหเหนแทน

ยงจากนอยไ

ตร =SMALL

ลายเปน {=S

ปนสตร Mult

กตวาไมจาเป

tep1 – Step

ดวารหสจะม

ทหาไดมาแส

com 

),Num)} วา

ธบายสตรท

ยางใด)

D=G3 แลวก

ID=G3} คน

การ Num โ

trl+Shift+E

าแหนงทเคย

ไปมากโดยน

L(J3:J20,Nu

SMALL(J3:

tiple Match

ปนตองสราง

p3 แตอยาง

มโอกาสซาก

สดงตอไป

าเกดจากกา

สรางไวใน S

กดป ม

นคาออกมา

โดยเลอกเซ

Enter จะมว

ยเปนคา Tru

นาไปซอนใ

um) แลวกด

J20,Num)}

h ในเซลล L

งสตรลงไปใ

งใด แตใหเล

กนสงสดกค

Step1 -

เปน

ลล

งเลบ

ue

นสตร

ดป ม

}

L3:L12

ในเซลล

ลอก

รงกพอ

 

การหา

Unique

รายการ

Match

ในภาพน

รหสราย

Array ใ

โดยสตร

ทาใหม

หรอนอ

Step1

สาเหตท

าเลขตาแ

e Item คอ ข

ร รายการแรก

เพยงมขนต

นตารางรหส

ยการท 1, 2

ในเซลล I3:

รนตองสราง

เครองหมาย

ยกวานกได

: สตร MAT

ทตองปรบให

Cop

แหนงราย

ขอมลทไมซ

กของแตละ

อนเพมขนอ

ส ID จาก C

, 3, 4, 5, 7

I12 { =SM

งพรอมกนลง

ยวงเลบปกก

แลวแตวาจะ

TCH(ID&""

หใช ID&""

pyright of ww

การขอมล

ซากบขอมล

ชดทซากนก

อกหนงขนต

3:C20 มรห

7, 10, และ

MALL( IF(M

งทเดยวไปใ

กาปดหวทาย

ะมจานวน U

",ID&"",0) ท

เพอทาใหส

302 

ww.ExcelExp

ลทเปน U

อน ซงในกร

กคอ Uniqu

อน

หสบนทกไวซ

16 ซงหาตว

MATCH(ID&

ในเซลล I3:

ยสตรใหเอง

Unique Item

ทาหนาทหา

สตรนยงใชง

pertTraining.c

Unique It

รณทมการบ

e Item โดย

ซากน รหส

วเลขตาแหน

&"",ID&"",0

:I12 แลวกด

(ทงนใหเล

m ทงหมดม

าเลขตาแหน

งานไดหากม

com 

tem

นทกรายกา

ยใชสตรคลา

ID ทเปน U

นงรายการเห

0) = Num,

ดป ม Ctrl+S

ลอกจานวนเซ

ากนอยเทาใ

นงรายการข

มเซลลวาง เ

ารซากนไวห

ายกบสตร M

Unique Item

หลานไดจาก

Num), Nu

Shift+Ente

ซลล I3:I12

ใด)

อง ID แตล

เชน เซลล C

หลาย

Multiple

m คอ

กสตร

m)}

r เพอ

2 มาก

ละตว

C20

 

Step2

แสดงคา

Step3

IF(MAT

Step4

เมอไดต

นอกจาก

Advanc

เซลล D

เซลล D

copy ส

http://w

duplica

: นาคาจาก

าเทากบ Tr

: เปลยนคา

TCH(ID&""

: เรยงเลขต

ตวเลขตาแห

กสตรขางตน

ced แบบ U

D3 สรางสตร

D4 ใหสรางส

ตรไปตอลง

www.get-d

ates-in-exc

Cop

ก Step1 ไป

ue คอตาแห

า True จาก

,ID&"",0) =

ตาแหนงราย

หนงรายการท

นแลว ยงมส

nique reco

ร =B3 เพอ

สตร Array {

ไปในเซลล

digital-help

el-from-on

pyright of ww

เทยบกบเล

หนงทเปน U

ก Step2 ใหเ

= Num, Nu

ยการทไดจา

ทเปน Uniq

สตรลดหาชอ

ords only

นารหสรายก

{=INDEX(I

ถดไปดานล

p.com/2009

ne-column/

303 

ww.ExcelExp

ขลาดบ Nu

Unique Item

เปนเลขทรา

um)

าก Step3 ให

ue แลวใหใ

อรายการทเ

การแรกยกม

ID,MATCH

ลาง โปรดดร

9/03/30/ho

/

pertTraining.c

m จะพบวา

m

ายการดวยส

หเรยงจากน

ใชสตร Inde

ปน Unique

มาเปน Uniq

(0,COUNT

รายละเอยด

ow-to-extra

com 

ตาแหนงราย

สตร

นอยไปมากด

ex แสดงชอ

e หรอจะใชค

que Item ไว

IF($D$3:D

ของสตรนไ

act-a-uniqu

ยการทตรงก

ดวยสตร Sm

อรหส ID ตอ

คาสง Data

วกอน จากน

D3,ID),0))}

ดจาก

ue-list-and

กน หรอ

mall

อไป

>

นนใน

แลว

d-the-

304 

 

Copyright of www.ExcelExpertTraining.com 

การคานวณยอดรวมเพอจดทารายงาน

การจดเกบขอมลไวในโครงสรางฐานขอมลทถกตอง เปนองคประกอบสาคญชวยทาใหเกด

ความสะดวกและงายในการหาคาตอบทตองการ แตผใช Excel แบบมกงายอาจหาทางทงาย

กวานนโดยปรบแตงโครงสรางฐานขอมลใหกลายเปนหนารายงาน ทาใหไมสามารถใช

ฐานขอมลไดเตมทอกตอไป ยงกวานนหากรายงานทตองจดพมพมรอยหนา กมกออกแบบ

ตารางรายงานเลยนแบบหนารายงานทงรอยหนา ทาใหแฟมมขนาดใหญขนอยางมากเนองจาก

ตองเตรยมพนทในชทเดยวกน ตางชท หรอตางแฟม รอไวสาหรบแสดงขอมลทกหนา

พงระลกไวเสมอวาฐานขอมลทดตองคงสภาพโครงสรางเชนเดมไวตลอด การเปลยนแปลงท

เกดขนกบตารางฐานขอมลจะมเพยงการเพมรายการใหมตอทายรายการเดมลงไปเรอยๆ หากไม

จาเปนจะไมมการ insert row แทรก หรอ delete row ลบรายการทบนทกไวทง และหนา

รายงานตองหาทางสรางขนเพยงหนาเดยวหรอสตรเดยว แลวหาทางเปลยนหนาเดยวหรอสตร

เดยวนนใหแสดงคาตอบหนาอนๆหรอเรองอนๆไดโดยไมตองสรางหนาใหมหรอสตรใหมขนอก

หลงจากฐานขอมลมโครงสรางทแนนอนชดเจนแลว เมอตองการหาคาตอบเกยวของกบตวเลข

ยอดรวม มทางเลอกใหใชคาสงหรอสตรได ดงน

• ใชสตร SubTotal รวมกบคาสง Filter และ Custom Views

• ใชคาสง Data > SubTotal เพอสรางยอดรวมรายการแตละประเภทขนภายในตาราง

ฐานขอมลนน

• ใชคาสง Data > Consolidate เพอรวมตวเลขของหลายตารางตามตาแหนงเรอง

เดยวกนเขาดวยกน

• ใชสตร Array SumIF หรอ DSum เพอหายอดรวมแยกประเภท แลวใชคาสง Data >

What-if Analysis > Data Table เพอหายอดรายการอนๆตอ

• ใชคาสง Insert > Pivot Table เพอสรางตารางเปรยบเทยบตวเลขคาตอบ

 

ทางออ

กอนจะอ

กอน ทง

Sum เป

รวมจาก

ถาวร แล

เปลยนแ

ในภาพน

เซลล B

ไดคาตอ

หากตอ

กาหนด

แลวสรา

Sum เด

เนองจา

แทนทจ

เขาดวย

row แล

คานวณ

อกทดกว

อธบายสตร

งนไมใชเพร

ปนสตรทเหม

กตารางซงม

ละในอนาคต

แปลงโครงส

น เซลล B1

B2:B11 ดวย

อบยอดรวม

มามการปรบ

ใหหายอดร

างสตร =SU

ดมทหายอด

ากนายอดรว

จะเลอกใชส

ยกนเปน =B

ละใสคาใหม

ณคาผดพลาด

Cop

าการใชส

SubTotal ห

ราะสตร Sum

มาะสาหรบใ

โครงสรางแ

ตตองไมมก

สรางอกตอไ

2 หายอดรว

ยสตร =SUM

เทากบ 55

บโครงสราง

รวมของเซล

UM(B2:B6)

รวมทงหมด

มของ Sum

ตร Sum ตง

B2+B3+B4+

เพมเขาไปใ

ด เพราะสตร

pyright of ww

สตรบวกห

หลายคนอา

m เปนสตรง

ใชหายอด

แนนอน

าร

ไป

วมของ

M(B2:B11)

ตาราง โดย

ล B2:B6 เพ

ลงไปในเซ

ดเทากบ 55

m ในเซลล B

งแตแรก ถา

+B5+B6+B

ในเซลลเชน

รบวกยงคงเ

305 

ww.ExcelExp

หรอสตร S

จจะสงสยวา

งายททกคนค

พม และใหแ

ซลล B7 ไดย

กลายเปนย

B7 ไปรวมเข

เปลยน =SU

B7+B8+B9

นทยกตวอยา

ลอกเฉพาะ

pertTraining.c

Sum

าทาไมจงไม

ควรรจกกนด

แทรก row ใ

ยอดรวมเทา

ยอดรวมใหม

ขาไปอก

UM(B2:B11

9+B10+B1

างขางตน ก

เซลลตามเด

com 

มอธบายวธใ

ดอยแลวหรอ

ใหมระหวาง

กบ 15 แตจ

เทากบ 77

1) ไปสรางส

1 แลวหากภ

จะไมเกดปญ

ดมทกาหนด

ใชสตร Sum

อก แตเนอง

row 6 และ

จะสงผลใหส

ซงเปนคาต

สตรบวกแตล

ภายหลงมก

ญหาทาใหส

ดไวใหเสมอ

m ไว

งจาก

ะ row 7

สตร

อบทผด

ละเซลล

ารแทรก

สตรบวก

แตสตร

 

บวกกนท

วธทดก

การใช

หากแป

ของราย

ยอดรวม

กาหนด

=SubT

ตวเลขป

SubTot

จากเซล

ทละเซลลไ

วาการใชสต

ชสตร Su

ลคาวา Sub

ยการแตละก

มเทานน หา

ใหสตร Sub

Total( ตวเลข

ประเภทการค

101 กาหนด

102 กาหนด

103 กาหนด

109 กาหนด

tal มความส

ลลทมสตร S

Cop

มใชทางออ

ตรบวกหรอส

bTotal ร

bTotal กนต

กลมท Sub เ

ากยงสามารถ

bTotal คาน

ขประเภทกา

คานวณ กาห

ดให SubTo

ดให SubTo

ดให SubTo

ดให SubTo

สามารถพเศษ

SubTotal ม

pyright of ww

กทดนกหาก

สตร Sum ก

รวมกบคา

รงๆอาจเขา

เอาไว ซงกแ

ถดดแปลงให

วณหายอดต

ารคานวณ, พ

หนดตวเลขต

otal ทาหนา

otal ทาหนา

otal ทาหนา

otal ทาหนา

ษเหนอกวาส

าคานวณซา

306 

ww.ExcelExp

กมเซลลทต

คอ การใชส

าส ง Filte

าใจวาสตร S

แปลงไดไม

หคานวณหา

ตวเลขไดถง

พนทเซลล

ตงแตเลข 1

าทแบบสตร

าทแบบสตร

าทแบบสตร

าทแบบสตร

สตร Sum ก

าอก

pertTraining.c

ตองการนาม

สตร SubTot

r และ Cu

SubTotal นท

ผดนก แตส

าคาเฉลยหร

ง 11 แบบตา

)

101 – 111

Average

Count

CountA

Sum

กลาวคอ Su

com 

าบวกกนนบ

tal

ustom Vi

ทาหนาทหา

สตรนมไดหา

รอนบไดอกด

ามโครงสรา

แตเลขทใช

bTotal เปน

บพนนบหมน

iews

ายอดรวม To

าคาตอบใหเ

ดวย โดยเล

างสตรตอไป

ชกนทวไปได

นสตรทจะไม

นเซลล

otal

เฉพาะ

อก

ปน

ดแก

มนาคา

 

สงเกตว

และ B2

กาหนด

ยอดตว

เซลล B

ถานาสต

> Filter

เซลลอย

(Excel

การ Filt

สามารถ

หลงจาก

คาสง V

วาในเซลล B

2:B12 ตามล

ขอบเขตขอ

เลขรวมจาก

B7 มาคานวณ

ตร SubTota

r จะพบวา ส

ยเทานน (V

รนเกากวา E

ter เทานน

ถใชรวมกบ F

กทกรองหรอ

View > Cus

Cop

B7 และ B13

ลาดบ โดยใ

องตารางทต

กเซลล B2:B

ณซาอก ทา

al ไปใชรวม

สตร SubTo

Visible Cells

Excel 2003

แตถาใช Ex

Filter หรอจ

อจดโครงสร

stom Views

pyright of ww

3 ใชสตร Su

นเซลล B13

องการหายอ

B6 ไวกตาม

าใหยงคงได

มกบตารางท

tal แสดงตว

s Only) โดย

3 จะรบตวเล

xcel 2003 เ

จะซอน row/

รางตารางเพ

s > Add เพ

307 

ww.ExcelExp

ubTotal เพ

3 ใชสตร =

อดรวมไวตง

สตร SubT

คาตอบเทา

ทถกซอน row

วเลขคาตอบ

ยตวสตรเอง

ลขประเภทก

เปนตนมาแน

/column เอ

พอแสดงผล

พอตงชอใหก

pertTraining.c

อหายอดรว

SUBTOTAL

งแตเซลล B

Total ในเซล

กบ 55

w/column

บเฉพาะทได

ไมไดตองเป

ารคานวณต

นะนาใหใชต

องไดอกดวย

ใหเหนบนจ

กบการแสดง

com 

มของตวเลข

L(109,B2:B

B2:B12 ซงร

ลล B13 จะล

hide หรอก

ดมาจากเซล

ปลยนแปลง

งแตเลข 1

ตวเลข 101

ย)

อตามตองก

งผลตามทจ

ขจากเซลล

B12) แมวาไ

รวมถงเซลล

ละเลยไมนา

รองจากคาส

ลลทยงมองเ

งใหมแตอยา

- 11 และใช

– 111 แทน

การไดแลว ค

ดไว

B2:B6

ได

B7 ทม

คาใน

สง Data

เหนตว

างใด

ชรวมกบ

น จะ

ควรใช

 

จากนนเ

เลอกชอ

พรอมก

(นอกจา

การใช

Data >

และตอง

ตามกลม

ตองการ

ฐานขอม

เรมจาก

Data >

เมอตองการ

อแบบทตงไ

บสตร SubT

ากนน Custo

ชคาส ง D

> SubTotal

งเปนตาราง

มใหทนท พ

รใหอก และ

มลไดอยางไ

จดเรยงขอม

> Sort จากน

Cop

รแสดงโครง

ไวในชอง Vi

Total แสดง

om Views

Data > Su

ใชกบตารา

ซงไมมสตร

พรอมกบสรา

ะเมอนามาใช

ไมนาเชอ

มลเพอจดกล

นนคลกลงใน

pyright of ww

สรางตาราง

ews แลวกด

งตวเลขคาต

ยงชวยจากา

ubtotal

งฐานขอมล

รใดๆสรางไว

าง Outline เ

ชงานรวมกบ

ลมขอมลทต

นตารางขอม

308 

ww.ExcelExp

ตามแบบใด

ดป ม Show

อบเฉพาะเซ

ารกาหนด P

ลซงจดเรยงข

ว เมอใชคาส

เพอใชคลก

บ Custom V

ตองการหาย

มลเซลลใดก

pertTraining.c

ด ใหสง View

จะไดโครงส

ซลลทยงมอ

Print Settin

ขอมลแยกต

สงนจะเกดส

เลอกแสดงร

Views จะเป

ยอดรวม แย

กได แลวสง

com 

w > Custo

สรางตารางต

งเหนใหพร

g แตละแบบ

ามกลมทตอ

ตร SubTot

รายละเอยด

นเครองมอใ

กเฉพาะแตล

Data > Su

m Views แ

ตามแบบทต

อมกนไป

บใหอกดวย

องการไวกอ

tal หายอดร

ดทละขนตาม

ใชชวยงาน

ละกลมกอน

ubtotal

แลวคลก

ตงชอไว

)

อนแลว

รวมแยก

น โดยสง

 

หากตอ

ครงแลว

Replace

ชอง At eac

Header นน

ชอง Use fu

ชอง Add s

กดป ม OK จ

งการสราง S

วเปลยน He

e current s

Cop

ch change

นๆ

unction: ให

subtotal to:

จะพบวา ม

Subtotal ระ

eader ใหมใ

subtotals อ

pyright of ww

in: ใหเลอก

หเลอก Sum

: ใหเลอกชอ

Row ใหมแ

ะดบรองซอน

นชอง At ea

ออก แลวกด

309 

ww.ExcelExp

กชอ Heade

m

อ Header ข

แทรกขนเอง

น Subtotal

ach chang

ด OK

pertTraining.c

er ทตองกา

ของ Field ท

และมสตร S

ระดบแรก ใ

e in: แลวให

com 

รหาผลรวมต

ทตองการหา

Subtotal คา

ใหสง Data

หตดกาเครอ

ตามกลมขอ

ายอดรวม

านวณยอดให

> Subtota

องหมายถกใ

อง

หทนท

al ซาอก

ในชอง

 

เมอกดป

หบ และ

Cells ให

ไป Pas

ขอดขอ

ยอนกล

หมายเห

Data >

ป มเครองหม

ะป ม Outlin

หเลอกพนท

ste จะไดเฉพ

งการใชคาส

บไปเปนตา

หต หากตอ

> Group

Cop

มายลบหรอป

e จะกลายเ

ทตารางแลวก

พาะพนททเ

สงน นอกจา

รางฐานขอม

องการสราง

pyright of ww

ป มหมายเลข

ปนเครองหม

กด F5 > Sp

หลอจากกา

าก Excel จะ

มลตามแบบ

Outline ขน

310 

ww.ExcelExp

ขระดบชนข

มายบวกแท

pecial > เล

ารกดป ม Ou

ะสรางสตร S

บเดม ใหกดป

นมาใชเอง ใ

pertTraining.c

อง Outline

น หากตอง

ลอก Visible

utline เทาน

SubTotal ให

ป ม Remove

ใหเลอกเซล

com 

ดานบนซาย

การ Copy เ

e cells only

หเองแลว ห

e All

ลทตอเนอง

ย รายการข

เฉพาะ Visib

จากนนสง

หากตองการ

งกนแลวใชค

อมลจะ

ble

Copy

สง

คาสง

 

การใช

จากภาพ

ตวเลขเ

> Cons

ป ม Add

เลอกจา

กาชอง

ชคาส ง D

พนตารางขอ

เรองเดยวกน

solidate จา

d แลวเลอกพ

ากตารางทอ

Crate links

Cop

Data > Co

อง Division

นจากหลายต

กนนคลกเล

พนทจากตา

อยตางชทหร

s to source

pyright of ww

onsolida

1 และ Div

ตารางเขาดว

ลอกพนทตา

ารางอนมา A

รอตางแฟมก

e data ใหค

311 

ww.ExcelExp

ate

vision 4 มโค

วยกน ใหเรม

รางขอมลช

Add ซาจนก

กนกได) แล

รบเพอจะได

pertTraining.c

ครงสรางเห

มจากเปดชท

ดแรกใหแส

กวาจะครบท

ลวอยาลมกา

ดสตรลงคคา

com 

มอนกน ถาต

ทใหมขนมา

ดงในชอง R

ทกตารางทต

าชอง Use la

าจากตาราง

ตองการหาย

ากอน แลวส

Reference

ตองการ (โด

abels in พร

ตนทางมาใ

ยอดรวม

ง Data

แลวกด

ยจะ

รอมกบ

ชดวย

 

กราฟ E

link คา

สตร lin

1.

2.

3.

4.

5.

ดวยวธเ

ทงตารา

1.

2.

3.

4.

5.

6.

Excel มความ

จากตารางไ

k ในแตละจ

สรางกราฟใ

คลกครงหน

เดม จะพบว

ใหคลกลงบ

คลกกลบไป

จะพบวาตว

เดยวกนน เร

าง เรมตนโด

เลอกตาราง

กด Shift พ

คลกลงไปใ

ไดเหนตารา

คลกลงไปใ

คลกกลบไป

กด Enter

Cop

วธ

มพเศษอยา

ไปทกราฟ ไ

จดไดโดยใช

ใหเสรจกอน

นง ลงไปทต

วา จดนนกล

บน formula

ปยงเซลลขอ

marker กล

ราสามารถส

ดย

งขอมลซงต

พรอมกบคลก

ในหนากราฟ

างชดเจนไม

ใน formula

ปยงพนทตา

pyright of ww

ธสราง

งหนง คอ แ

มวาจะเปนต

ชวธงายๆ ตอ

นตามวธปกต

ตว marker ห

ลายเปนกลอ

bar แลวพ

อมลตนตอใ

ลายเปนสตร

รางสตร link

องการนาไป

กเมนคาสง E

ฟ แลวสง Pa

มทบกบรปสว

bar แลวพม

รางขอมลซ

312 

ww.ExcelExp

งสตรบ

แทบทกสงซ

ตว marker

อไปน

หรอขอความ

อง

มพเครองห

ในตาราง แล

ร link ขอมล

k นาขอมลม

ปแสดงบนก

Edit > Cop

aste แลวยา

วนอนๆ

มพเครองหม

ซงสง copy

pertTraining.c

บนกรา

ซงประกอบก

หรอคาอธบ

มใดๆกไดบน

มายเทากบ

ลวกด enter

ลมาจากเซล

มาทงตาราง

ราฟ

py Picture แ

ายรปตารางไ

มายเทากบ

picture มาจ

com 

าฟ

กนเปนรปกรา

บายแตละสว

นกราฟ แลว

=

ลล

นามาแสดง

แลวกดป ม O

ไปยงตาแหน

=

จะไดสตร lin

าฟ สามารถ

วน เราสามา

วคลกลงไปอ

งไวบนกราฟ

OK

นงวางๆบนก

nk มาทรป

ถนาสตร

รถสราง

อกทท

ฟไดเลย

กราฟ จะ

 

วธสรา

สตร Ex

เซลลอน

1.

2.

3.

4.

5.

างสตรเพ

xcel สามารถ

นมาแสดง โ

สรางตาราง

อนกได

ใชเมนคาสง

กาหนดให

เลอกเซลลว

เลอกตาแห

คลกลงไปใ

Cop

อดงรปภา

ถใช link รป

โดยเรมตนจ

งเกบรปภาพ

ง Formulas

Refers to:

วางๆเซลลใ

นงเซลลซง

ใน Formula

pyright of ww

าพ

ภาพมาแสด

าก

เซลลละรป

s > Define

สตร =IND

ใดกได แลว

งจะแสดงรป

a Bar พมพส

313 

ww.ExcelExp

ดงผลไดเชน

ป แลวกาหน

Name สรา

DEX(PicTab

สง Home >

แลวสง Pa

สตร =Choo

pertTraining.c

นเดยวกบกา

นดชอตาราง

าง Formula

le,1,Sheet

> Copy as

ste จะไดรป

osePic

com 

รสรางสตร

เกบรปนวา

Name ชอว

1!$A$1)

Picture

ปเซลลวางๆ

link เพอนา

PicTable ห

วา Choose

ๆทเรา copy

าคาใน

หรอชอ

Pic

มา

 

6.

7.

กาหนดเลข

ท copy มา

คลกขวาทร

Cop

ขทรปลงไปใ

รปเซลล แล

pyright of ww

ในเซลล A1

วจดรปแบบ

314 

ww.ExcelExp

เชนใสเลข

บของสและเ

pertTraining.c

2 จะไดรปท

สนกรอบตา

com 

ท 2 ถกนาม

มตองการ

มาแสดงในรป

ปเซลล

315 

 

Copyright of www.ExcelExpertTraining.com 

วธจดการกบความอวนอยอาย...ของแฟม

แฟม Excel ทเราเพงเปดใชงานขนใหมในวนน จะเรมมขนาดแฟมใหญขนเรอยๆ แลวเมอวน

เวลาผานไปสกปสองป คอมพวเตอรทใชอยกจะทางานชาลงไปจนผดสงเกตโดยมเหตมาจาก

แฟมใหญขนมากนแหละ ตวผใช Excel มกชอบวงไปบอกหวหนา ขอใหซอคอมพวเตอรเครอง

ใหมเพอจะไดทาให Excel ทางานเรวเหมอนเดม ซงถาผมเปนหวหนาของคณละกอ ... แทนท

จะเปลยนคอมพวเตอรเครองใหม ขอเปลยนตวพนกงานเปนคนอนจะดกวา !!! เพราะแมจะไดใช

คอมพวเตอรเครองใหมแลวกตาม ตอมาพอแฟมเรมใหญขนอก คอมพวเตอรกจะชาลงไปอก

แลวเรากตองซอเครองใหมทเรวขนกวาอกหรออยางไรกน

กอนทจะสายเกนไป ผใช Excel ควรเขาใจกอนวา ทวาแฟม Excel ใหญขนนน อะไรบางทเปน

เหตใหแฟมมขนาดใหญขน แลวอยานกตอไปวา แฟมใหญตองใชเวลาคานวณนานกวาแฟมท

เลกกวาเสมอไป ซงเมอเขาใจประเดนเหลานแลวเราตองหาทางออกแบบแฟมใหใหญพอดๆ ไม

ใหญ ไมเลกเกนไป และไมใชเวลาคานวณชาจนรอไมไหว

สงทมผลตอขนาดของแฟม

1. จานวนเซลลทใช

2. จานวนเซลลทถกอาง

3. รปแบบหรอ Format ทใช

จานวนเซลลทใช

แฟม Excel ในยคแรก มขนาดแฟมใหญมากเพราะกาหนดวา พนทตารางทกเซลลตงแตเซลล

A1 ไปจนถงเซลลหวมมขวาลางสดทมขอมลอยถอเปนพนทซ งถกใชงาน ตอมา Excel ได

พฒนาใหขนาดของแฟมไมตองนบจากเซลล A1 แตใหนบเฉพาะเซลลทถกใชงานเทานน สวน

เซลลทเราไมไดเขาไปแตะตองแกไขใสอะไรลงไป ไมมสวนกระทบตอขนาดของแฟมแตอยาง

ใด ซงชวยใหเราสามารถใชพนทตารางไดสะดวก ไมตองออกแบบตารางใหชดตดกนเปนพด

เพอหาทางลดขนาดแฟมอยางแตกอน

ขอใหสงเกตวา ขนาดของแฟม ไมไดขนอยกบจานวนอกขระทมอยในเซลล ไมวาจะพมพเลข 1

ลงไปในเซลล 100 เซลล หรอพมพเลข 123 ลงไปในเซลล 100 เซลล แฟมกยงคงมขนาด

316 

 

Copyright of www.ExcelExpertTraining.com 

ใหญเทากนเพราะใชจานวนเซลล 100 เซลลเทากน แตอยางไรกตามในเซลลจานวน 100

เซลลทสมมตวาถกพมพคาลงไปนน หากพมพตวอกษรหรอสรางสตรลงไปกจะทาใหแฟมม

ขนาดใหญขนตามลกษณะของขอมลทพมพลงไป ซงลาดบขนาดแฟมจากเลกไปใหญขนกบ

ประเภทของขอมล ดงน

1. ถาเปนตวเลข แฟมจะเลกทสด ไมวาจะเปนเลข 1 หรอเลข 123 แฟมยงคงมขนาด

เทากน

2. ถาเปนตวอกษร แฟมจะใหญขน ไมวาจะเปนตวอกษร A หรอ ABC แฟมยงคงมขนาด

เทากน (ใน Excel 2010 พบวา ขอ 1 และ 2 นไมไดมขนาดแฟมตางกน)

3. ถาเปนสตรและคนคาเปนตวเลข แฟมจะใหญขน

4. ถาเปนสตรและคนคาเปนตวอกษร แฟมจะใหญมากทสด

จานวนเซลลทถกอาง

ในกรณทสรางสตร link ขอมลขามแฟม จะพบวาแฟมปลายทางมขนาดใหญขนมาก หรอ

บางครงจะมขนาดใหญกวาแฟมตนทางเสยอก ทงๆทในแฟมปลายทางมเซลลทใชงานเพยง

เซลลเดยวกตาม เนองจากในสตร link ขามแฟมทสรางไวในเซลลไดนาขอมลจากแฟมตนทาง

มาเกบไวในแฟมปลายทาง เรยกวา Cache Data

ยกตวอยางเชน สตร =VLOOKUP(A1,[Input.xls]Sheet1!$B$2:$H$200,2) ทหาคาจากแฟม

Input.xls ในชท Sheet1 ตงแตเซลล B2:H200 น จะทาให Excel แอบสรางตารางทเรามองไม

เหนเกบขอมลจากแฟมตนทางทงหมดไวในแฟมปลายทางทมสตรนอย ซงตารางทมองไมเหนน

แหละเปน Cache Data

Cache Data ชวยทาใหเมอเปดแฟมปลายทางขนมาใชเพยงแฟมเดยว เรากสามารถใชสตร

VLookup คนหาขอมลจากแฟมตนทางไดโดยไมจาเปนตองเปดแฟมตนทางขนมาใชพรอมกบ

แฟมปลายทางแตอยางใด แตกทาใหแฟมปลายทางมขนาดใหญขน

รปแบบหรอ Format ทใช

การกาหนดรปแบบใหกบชททงชทพรอมกนทเดยวทกเซลล จะทาใหแฟมมขนาดเลกกวาการ

กาหนดรปแบบเพยงบางสวนของตาราง เพราะ Excel จะใชวธรบรทเดยววาชทนนๆใชรปแบบใด

317 

 

Copyright of www.ExcelExpertTraining.com 

แตถาในตารางมการกาหนดรปแบบตางกนไปในแตละสวน จะทาให Excel ตองรบรละเอยดมาก

ขนวา พนทตารางสวนใดใชรปแบบใด จงทาใหแฟมมขนาดใหญขน

ตามปกต Excel ไดกาหนดไวในคาสง Excel Options ใหกาชอง Extend data range formats

and formulas ไวแลวตงแตตน เพอชวยใหเซลลขอมลตวเลขทใชงานตดตอกนไวตามแนวตง

ตงแต 3 เซลลขนไป สงรปแบบทกาหนดไวใน 3 เซลลนนตอไปยงเซลลท 4 และเซลลตอๆไป

ใหทนท แลวหากมเซลลทสรางสตรไวตดตอกนตามแนวตง 4 เซลลอยแลว คาสงนจะชวย

copy สตรและรปแบบจากเซลลท 4 ไปยงเซลลท 5 ตอไปเรอยๆใหเชนกน (ขอใหทองไววา

ครบ 3 ได 4 ครบ 5 ไดสตร หมายความวา เดมครบ 3 เซลล จะไดรปแบบตอในเซลลท 4 แลว

พอเรมครบ 5 เซลล จะไดทงสตรและรปแบบตามตอไปใหเอง) อยางไรกตามคาสงนจะทางาน

ตอเมอขอมลตามแนวตงทบนทกตอกนไปเปนตวเลขทกเซลล เชน ถาบนทกตวเลขเอาไว ก

ตองบนทกตวเลขในเซลลตอไปเทานน หากเมอใดทบนทกคาเปนตวอกษรลงไปในเซลลทควร

เปนตวเลข ตองลบคานนทงไปกอน จงจะกระตนใหคาสงนทางานดงเดม

สงทผลตอความเรว

ในเรองความเรวนไมไดเกยวของกบความเรวในการคานวณของโปรแกรม Excel เทานน แตยง

สงผลกระทบตอความเรวของมนษยในการใช Excel อกดวย นบตงแตจะชาหรอเรวในการสราง

งาน สรางเสรจแลวเมอนามาแกไขจะตองเสยเวลาแกไขชาหรอเรวเพยงใดกวาจะแกไขเสรจ

บางคนใชเวลาสรางแฟมนดเดยวแตพอยอนกลบมาแกไขแฟมเดมกลบตองเสยเวลาแกไขนาน

ขนมาก

สาหรบผสนใจการทาให Excel คานวณไดเรวทสด ขอเชญตดตามไปอานบทความทผมเขยนไว

ในหวขอ Excel @ The Maximum Speed ไดท

http://www.excelexperttraining.com/extra/tactic/maxspeed.html สวนในบทความนจะ

ไดอธบายเรองทแปลกไปจากเดม

มนษยนแหละตนเหตของความชาอยอาย

แมยคนเราใชเครองคอมพวเตอรแทนเครองคดเลขกนมากขน แตแทนทเครองคอมพวเตอรจะ

ชวยใหทางานไดเรวขน หลายๆคนกลบทางานเสรจชาลง จนแทบอยากจะยอนไปกดป มบน

เครองคดเลขทตนใชไดเรวกวา ทงนเนองจากคนเราไมชอบการเปลยนแปลง ชอบทาอะไรใช

318 

 

Copyright of www.ExcelExpertTraining.com 

อะไรทตวคนเคยมากอน พอจะใชคอมพวเตอรกคดไมออกวาจะใชโปรแกรมอะไร ฟงเขามาวา

ถาเรองของตวเลขตองใชโปรแกรม Excel แตถาเรองเกบขอมลตองใช Access แลวถาขอมลม

ทงตวเลขและตวอกษรละ จะใชโปรแกรมอะไรด บางคนอาจคดงายๆวา ถาขอมลมเลขมากกวา

กใหใช Excel หรอถาขอมลมตวอกษรมากกวาตวเลข กใหใช Access แลวกน

ในประเดนของการเลอกใชโปรแกรม Excel หรอ Access น ในเบองตนสาหรบคนทเพงจบ

คอมพวเตอร ขอแนะนาใหเลอกใช Excel กบงานทตองการความยดหยน หรองานทผใชยงไม

มนใจวาจะจดโครงสรางหนาตาของตารางขอมลทตองการเกบไวอยางไร เพราะ Excel มคาสง

ชวยสาหรบการโยกยายขอมลเตรยมไวพรอม และเราอยากจะยายตารางไปเกบไวทชทอนแฟม

อน กจะเหนผลทนทบนหนาจอกบตา แถม Excel ยงชวยแกไขสตรทเกยวของกบตารางซงถก

ยายใหเสรจ แลวตอมาภายหลงพอมขอมลปรมาณมากขน เรมมมาตรฐานของโครงสรางตาราง

แนนอนตายตวแลว จงคดถง Access

ครนเลอกใช Excel สรางตารางเกบขอมลตอไปสกพก คอมพวเตอรแสนเรวของเรากบผทใช

Excel กจะพรอมใจกนกอดคอทางานชาลงไปเรอยๆ โดยมสาเหตยอดนยมดงตอไปน

1. ออกแบบตารางเกบขอมลไมเปน พอเปดแฟมขนด แลวงงไปหมดวาขอมลอะไรอย

ตรงไหน

2. เกบขอมลทเกยวของกบวนท แตวนทซ งเกบบนทกไว ไมสามารถนามาใชคานวณตอได

3. เกบขอมลซาซอนกน พอจะแกไขเปนขอมลใหมตองเสยเวลาหาตาแหนงเซลลใหพบ

กอนวาอยทชทใดแฟมใด

4. แยกขอมลทเกบไวในตารางเดยวกนออกจากกนไมได ตองฝนบนทกขอมลตอไปเรอยๆ

นบพนนบหมนบรรทด

5. สรางสตรยากๆยาวๆแบบฉนเองคนสรางคนเดยวเทานนทจะแกะออก

6. เลอกใชสตรไมเปน ชอบใชสตรสนๆทคนชอบ แต Excel ไมชอบเพราะโปรแกรมจะ

ทางานชาลง

7. แยกตารางสตรทไมจาเปนตองคานวณพรอมกนออกจากกนไมได ทาใหตองเสยเวลารอ

การคานวณสตรซาโดยไมจาเปน

8. ไมรจกแยกคาตวแปรทอาจเปลยนแปลงภายหลงไวนอกสตร

9. สรางชททใชคานวณเรองเดยวกนซากนเตมไปหมด แตละชทมตารางหนาตาเดยวกน

ตางกนแตคาทนามาใชคานวณ

10. เลอกใช VBA กบงานทยงไมควรใช VBA แม VBA จะชวยใหเสรจงานเรวขน แตกไมใช

เรวขนไดเตมทอยางทควร

319 

 

Copyright of www.ExcelExpertTraining.com 

สาเหตยอดนยมเหลานแหละททาใหเราไดผลลพธจาก Excel ชาลง แตโดยทวไปผใช Excel ท

ไมเคยนาผลงานไปเปรยบเทยบกบผอนมกจะหลงภาคภมใจในผลงานของตน และเขาใจผดไป

วาตนไดใช Excel ชวยสรางผลงานทเรวขน ดงนนการใหพนฐานในเรองแนวทางการใช Excel

ทดและถกตองจงเปนเรองทสาคญมาก

แนวทางการใช Excel ทดและถกตอง

• เราตองมงหวงทจะใช Excel ใหไดผลงานมากขนและเรวขนแบบคอมพวเตอร นนคอ

ตองสามารถนาแฟมทสรางไวแลวกลบมาใชซาแลวซาอก โดยไมจาเปนตองแกไขสตร

หรอโครงสรางตารางทสรางไวแลวอกเลย

• แยกโครงสรางตารางเปน 3 ประเภท คอ ตารางทใชเกบขอมล(ตวเลขและหรอตวอกษร)

ตารางสาหรบสรางสตรคานวณ และตารางสาหรบแสดงเปนรายงาน

• พงระลกไวเสมอวา สกวนหนงขอมลในแฟมจะถกเกบไวจนทาใหแฟมใหญและ Excel

ทางานชาลง ดงนนตองเตรยมโครงสรางตารางทพรอมตอการโยกยายไปเกบไวทแฟม

อน

• ขอมลทเกบไวในตารางทใชเกบขอมลตองจดเกบไวในลกษณะโครงสรางฐานขอมลท

สามารถนาไปใชกบเมน Data หรอใชกบสตรพวก Lookup ไดทนท

• ขอมลทเปนตวเลข ตองมคาเปนตวเลขอยางแทจรง ซงมลกษณะทตองชดขวาของ

เซลลโดยไมจาเปนตองใช Format

• หามพมพขอมลใดๆซาโดยไมจาเปน แตใหใชสตรนาคาสงตอไปใชเมอตองการใช

ขอมลนนซา

• ในชทหนงๆ พยายามสรางสตรเดยวซงสามารถนาไปใชไดกบทกตาแหนงเซลลในชท

นนๆ ไมวาจะมการแกไขททาใหตาแหนงโครงสรางตารางเปลยนไปอยางไรกตาม

• สตรทสรางขนตองใชหลกการคานวณทงายตอการทาความเขาใจของตนเองและผอน

และเมอทเงอนไขเปลยนแปลงไปจากเดมกไมจาเปนตองแกไขโครงสรางสตรใหตางไป

จากเดมมากนก

• ตองใชสตรปรบคาในเซลลใหไดคาถกตองตามทตองการกอนแลวจงใชคาสง Format

ปรบการแสดงผลของคานนในภายหลง

• ในโครงสรางสตร หามใสคาคงทใดๆไวอยางเดดขาด

320 

 

Copyright of www.ExcelExpertTraining.com 

• แทนทจะสรางสตรยากๆยาวๆทมสวนการคานวณทซากนลงไปในตารางนบพนนบหมน

เซลล ซงทาใหแฟมใหญและคานวณชาลง ควรหาทางกระจายโครงสรางสตรออกเปน

สตรสนๆหลายๆเซลลแตใชการคานวณครงเดยว เพอทาใหแฟมเลกลงและคานวณเรว

ขน

• อยาลมวา ตารางทเปนสตร จะมขนาดแฟมใหญกวาตารางทเปนตวเลขหรอตวอกษร

ดงนนแทนทจะใชสตรคานวณคาใดๆทเปนคาคงท เชน เลขลาดบ แนะนาใหใชตารางท

เปนตวเลขผลจากการคานวณแทนไปเลยดกวา

• ในกรณทตองสรางสตรทอางองกบตารางแนวนอนแนวตง แนะนาใหเลอกตารางตาม

แนวนอนกอนตารางแนวตงเพอสรางมาตรฐานวธสรางสตรของตนเอง และนอกจากนน

ยงสอดคลองกบโครงสรางของสตร Excel เชน Index หรอ Offset จะใชตาแหนงอางอง

ตามแนวนอนกอนแนวตงเสมอ

• หากสรางสตรทตองนามาใชซาแลวซาอก ควรตงชอตาแหนงเซลล (Range name) ท

สอถงทไปทมาของสตร แทนการอางองกบตาแหนงอางองโดยตรง

• ควรแยกสตรทไมจาเปนตองคานวณพรอมกนออกเปนแฟมแยกจากกน (หรออกนยหนง

ใหเกบเฉพาะสตรทตองคานวณพรอมกนเทานนไวในแฟมเดยวกน) เพอทาใหเรา

สามารถเลอกเปดแฟมตามขอบเขตการคานวณทชดเจน และทาใหแฟมมขนาดเลกลง

• ใหเลอกใช VBA เฉพาะเมอตองการใช Excel ทเหนอกวาปกตจากสตรและเมนคาสงท

ทาได และรหส VBA ทใชตองสามารถใชไดตอเนองไปตลอดแมโครงสรางตารางจะ

เปลยนแปลงตางไปจากเดมกตาม

• ทกอยางมไดกตองมเสย ไดอยางกตองเสยอยาง ขอใหพจารณาเปรยบเทยบขอด

ขอเสยกอนทจะสรางงาน เพอใหเหมาะสมกบเงอนไขและสภาพแวดลอมของการ

ทางาน

แนวทางการลดความอวน

ลองคดดวา ถาเราเกบรายการขอมลลงไปในชทเตมทงหมดทก row แลว จะนาขอมลรายการ

ใหมไปเกบไวทไหน จะเรมตนเกบไวในชทใหมในแฟมเดมหรอจะเปดแฟมใหม?

ผใช Excel สวนมากชอบเกบขอมลไวเรอยๆในชทเดมแฟมเดมเพราะสะดวกในการคนหา

เรยกใช ซงหากใชคอมพวเตอรรนใหมมความเรวสงกไมตองรอนานนก แตถาเกบขอมลไวใน

แฟมเดมตอไปเรอยๆ สดทายเจาเครองคอมพวเตอรทวาทางานเรวกจะทางานชาลงชาลง นเปน

321 

 

Copyright of www.ExcelExpertTraining.com 

เพราะเราชอบเกบขอมลไวในแฟมเดมตอกนไป และกไมเคยมความจาเปนตองใชขอมลทงหมด

ทเกบไวพรอมกนสกครงเดยว

แลวสตรคานวณทสรางไว มนตองถกนามาคานวณใหมพรอมกนทกครงทมขอมลเปลยนแปลง

ไปแคเซลลเดยวหรอไม สตรทคานวณหาตนทนสนคาหรอคาใชจายซงมคาคงท ซงนานๆจงจะ

มคาเปลยนแปลงไปสกท จาเปนหรอทรวมตารางคานวณคาคงทเหลานนไวในแฟมซงมสตร

คานวณยอดกาไรจากการขาย

จากนนเมอถงคราวตองนาขอมลนบพนนบหมนบรรทด หรอตารางรายงานทตองพมพนบรอยนบ

พนหนามาแสดงใหดนน เราใชสายตาดตารางทงหมดหรอกระดาษทกแผนทพมพออกมาพรอม

กนทกหนาหรอไม?

ผสรางงานตองพจารณาถงประเดนดงกลาวขางตนไวเสมอ ตองพรอมทจะแยกขอมลทเกบไวใน

แฟมไปเกบไวในแฟมอน ขอมลใดทจาเปนตองเกบไวใช เพอหาผลลพธทตองการจากการ

คานวณรวมกนทกครง กควรจดเกบไวในแฟมเดยวกบตารางทเปนสตรคานวณ แตถาไม

จาเปนตองใชคานวณพรอมกนกควรแยกออกเปนแฟมตางหากทาใหแฟมมขนาดเลกลง แลวจง

ใชสตร link ขอมลขามแฟมมาใชคานวณตอตามแตวาเราจะเลอกเอาขอมลมาใชจากแฟมไหน

ซงจะชวยใหใชตารางสตรหนาเดยวตารางเดยวแตสามารถคานวณผลลพธไดตามแตขอมลท

link มาใชอกตอหนง

ในกรณท link ขอมลขามชท ใหใชสตร Indirect เลอกนาขอมลจากชอชททตองการมาใชใน

ชทคานวณ สวนกรณท link ขามแฟม ใหใชคาสง Change Source เพอเลอกชอแฟมทตองการ

มาใชในแฟมคานวณ

322 

 

Copyright of www.ExcelExpertTraining.com 

ผลจากสตรทมตอขนาดแฟมและความเรวในการคานวณ

ขอนาผลการทดสอบจากการใชสตรคานวณหลายหลายประเภทมาเลาสกนฟง และขอใหลอง

หาขอสรปกนเองวา สตรแบบไหนดกวากนและเพราะเหตใด (โดยการทดสอบนไดจากการสราง

สตรลงไปในตารางขนาดใหญตงแตเซลล D1:D55,000 และใช Excel 2003 กบ Pentium D

3.0 GHz)

กรณใชสตร SumIF เพอหายอดรวมตามเงอนไขเดยว

• สตร SumIF ใชเวลา 4 วนาท / ขนาดแฟม 2,984 KB เชน

=SumIF(IDRange,ID,NumRange)

• สตร SumIFArray ใชเวลา 38 วนาท / ขนาดแฟม 6,089 KB เชน

{=Sum(IF(IDRange=ID,NumRange))}

• สตร SumArray ใชเวลา 47 วนาท / ขนาดแฟม 5,547 KB เชน

{=Sum((IDRange=ID)*NumRange)}

• สตร SumProduct แบบใสเครองหมาย -- ใชเวลา 44 วนาท / ขนาดแฟม 2,987 KB

เชน =SumProduct(--(IDRange=ID),NumRange)

• สตร SumProduct แบบใสเครองหมายคณ ใชเวลา 50 วนาท / ขนาดแฟม 2,986 KB

เชน =SumProduct((IDRange=ID)*NumRange)

กรณใชสตร SumIF เพอหายอดรวมตามเงอนไข 2 เง อนไขตอเนองกน

• สตร SumIF ใชไดเพยงเงอนไขเดยวจงไมไดนามาทดสอบ

• สตร SumIFArray ใชเวลา 2 นาท 23 วนาท / ขนาดแฟม 9,716 KB เชน

{=Sum(IF(IDRange=ID,IF(KeyRange=Key,NumRange)))}

• สตร SumArray ใชเวลา 2 นาท 39 วนาท / ขนาดแฟม 8,633 KB เชน

{=Sum((IDRange=ID)*(KeyRange=Key)*NumRange)}

• สตร SumProduct แบบใสเครองหมาย -- ใชเวลา 2 นาท 30 วนาท / ขนาดแฟม

5,168 KB เชน =SumProduct(--(IDRange=ID),--(KeyRange=Key),NumRange)

• สตร SumProduct แบบใสเครองหมายคณ ใชเวลา 2 นาท 33 วนาท / ขนาดแฟม

5,165 KB เชน =SumProduct((IDRange=ID)*(KeyRange=Key),NumRange)

323 

 

Copyright of www.ExcelExpertTraining.com 

• สตร SumProduct แบบใสเครองหมายคณทกตว ใชเวลา 2 นาท 42 วนาท / ขนาด

แฟม 5,166 KB เชน

=SumProduct((IDRange=ID)*(KeyRange=Key)*NumRange)

• สตร SumProduct แบบใสเครองหมายคณ 1 ใชเวลา 2 นาท 50 วนาท / ขนาดแฟม

5,171 KB เชน =SumProduct((IDRange=ID)*1,(KeyRange=Key)*1,NumRange)

กรณใชสตร VLookup VS Match

• VLookup แบบ Approaching Match ใชเวลาไมถง 1 วนาท / ขนาดแฟม 2,979 KB

แตถาหาคาไมพบ (Not Available) ใชเวลา 3 วนาท เชน

=VLookup(ID,DataRange,2)

• Match แบบ Approaching Match ใชเวลาไมถง 1 วนาท / ขนาดแฟม 2,976 KB แต

ถาหาคาไมพบ (Not Available) จะแสดงตาแหนงสดทาย ใชเวลาไมถง 1 วนาท เชน

=Match(ID,IDRange)

• VLookup แบบ Exact Match ขนาดแฟม 2,981 KB โดยจะใชเวลานานขนหากตาแหนง

คาทใชหาหางจากบรรทดแรกมากขน แตถาหาคาไมพบ (Not Available) ใชเวลา 7

วนาท เชน =VLookup(ID,DataRange,2,0)

• Match แบบ Exact Match ขนาดแฟม 2,979 KB โดยจะใชเวลานานขนหากตาแหนง

คาทใชหาหางจากบรรทดแรกมากขน เชน =Match(ID,IDRange,0)

นอกจากนนยงไดทดสอบสตรบวกลบคณหาร ซง Excel คานวณเรวมากใชเวลาคานวณไมถง

วนาท แตพบวาขนาดแฟมจะเลกหรอใหญขนกบความยาวของสตรทใช เชน =1+2+3+4+5 ม

ขนาดแฟมใหญกวา =A2+5 โดยท A2 มสตร =1+2+3+4 เพอคานวณสวนแรกแยกไวกอน

324 

 

Copyright of www.ExcelExpertTraining.com 

เมอตองเลอกระหวางขนาดแฟมหรอความเรวในการคานวณ

ประเดนเรองความอวนอยอายของแฟมตามทกลาวมาทงหมดในบทความนจะไมเปนสาระสาคญ

หากคดแตเพยงวา ถาแฟมใหญขน หรอคอมพวเตอรชาลง เรากซอคอมพวเตอรเครองใหมหรอ

ซอ RAM มาเพมหนวยความจาในเครองใหมากขนกแกปญหาไดแลว แตถาคดกนงายๆเชนน

ปญหาทเกดจากการใช Excel จะยงมความสลบซบซอนมากขน โดยเฉพาะอยางยงเมอใช

Excel 2007 ขนไป โดยในชทหนงมกวา 10,000 column และกวา 1 ลาน row ซงยอมทาให

ผใช Excel ทขาดความรพนฐาน และขาดวนยในการสรางงาน สรางแฟมงานทจะยอนกลบมาทา

รายตวเองในทสด

แตถาตองเลอกระหวางขนาดแฟมหรอความเรวในการคานวณ ในความคดเหนสวนตวขอเลอก

ความเรวในการคานวณวามความสาคญมากกวาเรองของขนาด เพราะปญหาเรองขนาดแฟมเปน

ปญหาทแกไขไดไมยาก แคหาทางแยกตารางทไมจาเปนตองถกเรยกใชงานพรอมกนออกไป

เกบเปนแฟมตางหากกทาใหแฟมเลกลงเรยบรอยแลว และแมจะแยกตารางออกเปนแฟมเลกๆ

ไมได เรายงสามารถจดเกบแฟมลงไปในสอไดหลายชนด ไมวาจะเปน USB Drive, CD, DVD,

หรอฮารดดสก ซงปจจบนมความจมากขนกวาแตกอนมากในขณะทมราคาลดลง

สวนประเดนในเรองความเรวของการคานวณนนแมถอวาสาคญกวาเรองขนาดแฟม แตความเรว

เปนเรองของความรสก เปนเรองยากทจะหาเกณฑมาวดวาอยางนเรวหรอชา มกใชความรสก

ของคนทตองนงรอคอยคาตอบเปนตวชวด ถายงรอกนได กยงไมเดอดรอนหาทางอนทจะทาให

แฟมคานวณเรวขน ดงนนประเดนเรองความเรวในการคานวณ จงตองถอเปนภาระหนาทของ

ผสรางงาน ตองคอยตดตามเสมอวาสตรหรอวธทตนเพงสรางใหมลงไปในตาราง สงผลใหแฟม

งานนนคานวณชาลงไปกวาเดมอยางผดสงเกตหรอไม และตองลองสรางสตรหลายๆแบบท

สามารถใหคาตอบเดยวกน แตใชเวลาคานวณเรวทสด ซงควรพจารณาผลในระยะยาวทมตอ

ตวเองหรอผอนทรวมใชแฟมงานเดยวกนดวยวา ทกคนสามารถใชแฟมงานไดสะดวก เมอ

ตองการยอนกลบมาปรบปรงแกไข ตองสามารถทาไดงายในระยะเวลารวดเรว แมจะทาใหแฟมม

ขนาดใหญขน และคานวณชาลงกตาม

325 

 

Copyright of www.ExcelExpertTraining.com 

การออกแบบโครงสรางตารางคานวณ

ในโปรแกรม Microsoft Excel มองคประกอบอยสองอยางแทบไมเปลยนแปลงเลยในหลายยค

หลายสมยทผานไป ไมวาจะเปน Excel รนใดกตามยงคงมสงนใชกนเรอยมา สงทวานกคอ

ตารางทประกอบดวยเซลลมหลาย row หลาย column และสตรสาเรจรปอกหลายรอยสตรตด

มาพรอมกบตวโปรแกรม ซงผใดสามารถนาตารางและสตรมาใชรวมกนไดเปนอยางด จะทาให

ใชโปรแกรม Excel ทมราคาไมกหมนบาททางานไดยดหยนกวาโปรแกรมสาเรจรปราคาแพง

เปนแสนเปนลานบาททเดยว

บทความนจะแนะนาคณใหหาทางใชตาราง Excel อยางสรางสรรค เพอใชคานวณหาผลลพธใน

ปญหาตางๆไดสารพด เพยงแคนาตารางและสตรสาเรจรปของ Excel มาใชรวมกนอยางม

หลกการ อยางเปนขนเปนตอน และอยางมเหตผล จะชวยใหคณไดรบประโยชนมากขนกวาแต

กอน เชน

1. สามารถคานวณหาคาตอบในปญหาทไมเคยคดวา Excel จะทาไดมากอน

2. สตรสนลง และสามารถแกไขสตรไดงายและรวดเรว

3. สามารถตรวจสอบความถกตองของการคานวณในทกขนตอน

4. สามารถขยายขนาดหรอเคลอนยายตาแหนงเซลล เพอนาตารางไปใชซาในเซลลอน ชทอนหรอแฟมอนไดทนท

5. สามารถนาตารางไปใชในงานคานวณอนทใชหลกการเดยวกนไดทนท หรอหลงจากผานการปรบปรงเพยงเลกนอย

6. สามารถนาตารางไปใชงานรวมกบเมนคาสงของ Excel ไดทกเมอ แมแตการนาขอมลไปแสดงผลตอในรปกราฟ

7. แฟมคานวณเรวและมขนาดแฟมเลกลง แมจะมตารางขนาดใหญกตาม

ตารางคานวณคออะไร

เพอทาใหเขาใจตรงกน จงขอใหคาจากดความในความหมายของตารางคานวณกอนวา ตาราง

คานวณในบทความนมไดหมายถงพนทตารางวางๆทคณจะเหนทนทบนจอเมอเปดโปรแกรม

Excel ขนมาใชงาน แตตารางคานวณในทนมความหมายถงตารางซงคณสรางขนมาเองโดยม

ขอมลบนทกไวแลว อาจเปนขอมลตวเลข ตวอกษร หรอสตรใดๆกได ทงนมเจตนาเพอใชพนท

326 

 

Copyright of www.ExcelExpertTraining.com 

เซลลหรอตารางนนในการคานวณหาคาตอบทคณตองการโดยเฉพาะ เชน ตารางคานวณคาแรง

ทตองจายใหลกจางทางานในแตละกะ ตารางคานวณยอดตนทนขายแบบ Fist-in First-

out ตารางคานวณหาจานวนสนคาทตองวางแผนสงผลต (Material Requirements Planning)

หรอตารางคานวณเพอวางแผนการลงทน (Feasibility Study) เปนตน

ตารางทไมถอวาเปนตารางคานวณในบทความน ไดแก ตารางฐานขอมลซงใชบนทกขอมลดบ

(ไมมสตร) ตารางรายงานทจดโครงสรางเพอพมพในกระดาษหรอแสดงผลใหเหนบนจอ หรอ

ตารางท Excel จดโครงสรางใหเองอตโนมตจากการใชคาสงบนเมน SubTotals หรอ Pivot

Table

ตารางคานวณโดยทวไปประกอบดวยพนทตารางยอย 2 สวน สวนแรกเปนพนทตารางสาหรบ

เกบคาตวแปรทใชในการคานวณ และพนทตารางอกสวนหนงใชสาหรบสรางสตรคานวณซงรบ

คามาจากคาตวแปรในพนทสวนแรกนนเอง โดยผใชงานจะใชพนทสวนแรกในการพมพคาตว

แปรตวใหมลงไป จากนนจะแสดงคาตอบจากการคานวณใหเหนในตารางสวนทเปนสตรคานวณ

ขอควรพจารณากอนเร มสรางตารางคานวณ

สมมตวาคณกาลงหาทางคานวณคาแรงทตองจายใหลกจางทางานในแตละกะ จะตองคด

พจารณาอะไรบาง

1. กาหนดขอบเขตของความตองการของคณทเปนไปไดวามอะไรบาง เชน ตองการใชตารางในชทหนงเพอคานวณคาแรงของพนกงานคนหนงซงทางานในวนหนง หรอตองการใชตารางในชทหนงเพอคานวณคาแรงของพนกงานคนหนงซงทางานในเดอนหนงโดยแสดงเปนรายวนตอเนองกนไป หรอตองการคานวณคาแรงของพนกงานทกคนในวนหนงๆ หรอตองการคานวณคาแรงใหกบพนกงานทกคนในเดอนหนงโดยแสดงเปนรายวนตอเนองกนไป หรอมความตองการอนๆอกบางไหม ทงนเพอหาทางสรางตารางคานวณเพยงตารางเดยวแตตองมความยดหยนสามารถนาไปใชคานวณไดทกกรณตามทคณตองการ(ทงทเคยตองการในอดตและอาจจะมมากขนในอนาคต)

2. คนหาเงอนไขทงหมดทเกยวของในการคานวณ ซงโดยทวไปผทคลกคลกบการบรหารการจางแรงงานยอมตองมเงอนไขทตนนาไปใชในงานอยแลว เชน เงอนไขเกยวกบชวงเวลาหรอกะทกาหนดใหทางานในแตละวนแบงเปนกชวง แตละชวงใชเวลาทางานมากนอยเพยงไร แบงเปนชวงเวลาหยดพกกครง แตละครงใหหยดพกไดนานเทาใด ลกจางตองตอกบตรหรอบนทกการเขาทางานไว อยางไร บรษทมเงอนไขในการจายคาจางแรงงานเปนอยางไร ซงเงอนไขเหลานจะตองหาทางนามาใชในการคานวณ

327 

 

Copyright of www.ExcelExpertTraining.com 

3. ในอดตจนถงปจจบนใชวธการคานวณคาแรงอยางไร มขนตอนการคานวณทชดเจนเปนมาตรฐานทใชกนไดตลอดมาหรอไม หรอมกรณพเศษใดบางททาให ตองคานวณวธอนตางจากทเปนมาตรฐานนน ใหเกบรวบรวมตวเลขทใชในแตละชวงแตละกรณเอาไวเพอนามาใชเปนตวอยางสรางตารางคานวณใน Excel และเพอใชเปรยบเทยบผลคานวณทเกดขนวาตรงกนหรอไม

4. คนหาความเปนไปไดทกทางทลกจางคนหนงจะเขางานในชวงเวลาทกาหนด ซงในกรณปญหาการเขางานนพบวามโอกาสความเปนไปไดทจะมชวงเวลาทางานซงสมพนธกบชวงเวลาทกาหนดหรอกะหนงๆถง 7 กรณ เชน ถาสมมตวากาหนดใหกะทางานจาก 8:00 ถง 10:00 น. ลกจางสามารถมชวงทางานตรงกบกะ(8:00-10:00) อยภายในกะ(8:30-9:00) ครอมกะทงกอนและหลง(7:00-12:00) ครอมกะเพยงชวงเรมงาน(7:00-9:00) ครอมกะเพยงชวงเลกงาน(9:00-12:00) นอกกะชวงกอนกะ(6:00-7:00) และนอกกะชวงหลงกะ(11:00-12:00) ซงคณจะตองหาทางคดสตรเพยงสตรเดยวใหสามารถคานวณไดครบทง 7 กรณ

5. ขอใหยดหลกวา อยาพยายามคดหาสตรลดเพอคานวณหาคาตอบใหแลวเสรจโดยใชเซลลสตรเพยงเซลลเดยว เพราะนอกจากสตรจะตองยาวเหยยดซอนสตรกนหลายชนจนแกะแทบไมออกแลว ยงอาจเปนไปไมไดเลยทจะคดหาสตรขนมาใชได และคณอาจปวยเปนโรคกระเพาะเพราะมวแตคดสตรอยทงวนทงคน

6. แทนทจะคดสตรลดสตรเดยวเซลลเดยว ขอใหแบงการคานวณออกเปนขนๆ แลวหาทางใชสตรสาเรจรปท Excel มอยใหไดกอน แตหากไมมสตรสาเรจรปทหาคาตอบไดโดยตรง คณตองหาทางนาสตรสาเรจรปทมมาใชรวมกนโดยอาจนามาซอนสตรกนในเซลลเดยว หรอใชเซลลแยกคานวณทละขน แลวจงนาผลลพธทไดจากเซลลหนงสงไปคานวณตอในสตรของอกเซลลหนง กลายเปนทมาของตารางคานวณนนเอง

7. ลองคนหาวธการคานวณจากอนเตอรเนต เชน คนหาจาก Google เพอเรยนรจากตวอยางของคนอน คณอาจโชคดไดตวอยางทตรงตามทคณตองการ สามารถนาไปใชตอไดเลย หรอแคนาไปดดแปลงเพยงเลกนอยกอนกใชกบงานของคณไดแลว ซงแมวาจะไดตวอยางไมตรงกบสงทตองการกตาม แตตวอยางเหลานนนาจะเปนแนวทางใหคณไดคดพจารณาและเกดมมมองทกวางขวางและชดเจนกวาเดม

ข นตอนการสรางตารางคานวณ

หลงจากทไดพจารณาขอบเขตความตองการและพอไดเหนแนวทางสรางงานทคนอนใชกนมา

กอนแลวบาง คราวนกถงประเดนสาคญวาพอเปดโปรแกรม Excel ขนมาแลว คณจะเรมตน

ออกแบบตารางกนอยางไรด ซงลกษณะของตารางคานวณนเองทจะชใหเหนฝไมลายมอวาใคร

เยยมยทธกวากน ถาเทยบกบการสรางบานสกหลงหนงแลว ขอพจารณาทผานไปเปนเพยงแค

328 

 

Copyright of www.ExcelExpertTraining.com 

การออกแบบคราวๆและเตรยมซออปกรณกอสราง หน ทราย ปนซเมนต เตรยมไวไมใหขาด

ไมใหเกนกวาความจาเปน ขนจากนเปนหนาทของสถาปนกและวศวกรทจะตองลงมอกอสราง

บานของจรงใหสวยหร ดด อยสบาย อากาศถายเทสะดวก และสามารถตกแตงตอเตมใหนาอย

ไปชวลกชวหลาน

กอนอนผมจาเปนตองขอเตอนใหทราบขอผดพลาดทผใช Excel ทวไปมกคดออกแบบตาราง

อยางรวบรดเกนไป โดยการพยายามนาตารางคานวณไปรวมกบตารางทใชพมพออกไปเปน

รายงานหรอแสดงผลลพธทตองการบนหนาจอคอมพวเตอรไวเปนตารางเดยวกน ซงความคด

เชนนจะกลายเปนอปสรรคสาคญทาใหไมสามารถใชเซลลตอเนองกนเพอจดการคานวณทละ

ลาดบ จงขอแนะนาใหคดแยกตารางคานวณออกเปนพนทตางหากแยกจากตารางทใชพมพ

รายงาน แมตองทาใหเสยพนทเซลลมากขนโดยอาจตองแยกออกเปนชทหลายๆชท แตจะชวย

ทาใหสามารถออกแบบโครงสรางตารางคานวณไดอยางอสระ แลวตอเมอตารางคานวณน

สามารถคานวณหาคาตอบไดตามทตองการแลว จงคอยนาผลลพธทได link ไปประกอบกนเปน

ตารางรายงานในทสด

โครงสรางพนฐานของตารางคานวณ ประกอบดวยสวนทเปนพนทตารางสาหรบรบคาตวแปร

และพนทตารางสาหรบสรางสตรคานวณ โดยใหยดหลกวาสตรทสรางขนในตารางคานวณนน

หากเปนไปไดขอใหคดสรางสตรลงไปในเซลลแรกเซลลเดยวทหวมมซายบนสดของตาราง

จากนนเมอ copy สตรนไปใชทเซลลสวนอนในตารางตองสามารถใชสตรเดมนนไดโดยไม

จาเปนตองแกไขสตรใหแตกตางกนไปจากเดมแตอยางใด หรออกนยหนงใหใชสตรเดยวกบทก

เซลลในตารางคานวณใหได แตถาไมสามารถสรางสตรเดยวทเซลลหวมม กขอใหพยายาม

สรางสตรเดยวในแตละแนว row หรอ column

เพอทาใหเหนโครงสรางตารางคานวณแบบงายๆ ขอยกตวอยางการสรางตารางคานวณสตรคณ

มาพจารณากนตามรปตอไปน

329 

 

Copyright of www.ExcelExpertTraining.com 

รปตารางนเปนตวอยางการคานวณสตรคณแม 2 ถง 5 โดยกาหนดใหนาไปคณเลข 1 ถง 5

• ใหแยกเซลลรบตวแปรวางไวตามแนวคขนานกบพนทคานวณโดยอาจวางไวเปนแนวหวตารางดานบน (C2:F2) หรอหวตารางดานขาง (B3:B7) ซงตวแปรทวานเปนเซลลรบตวเลขทคณอาจมความตองการเปลยนแปลงเปนคาอนในอนาคต

• C3:F7 เปนพนทเซลลทคณตองหาทางสรางสตรลงไปทกเซลล โดยใหสรางสตรลงไปทเซลล C3 ซงเปนตาแหนงเซลลหวมมซายบนเพยงเซลลเดยว ใหมสตร =C$2*$B3 จากนนให copy ไป paste ทกเซลลในพนท C3:F7

โปรดสงเกตวาตวอยางสตรคณนเปนตวอยางการนาคาไปคานวณแบบ 1 ตอ 1 หมายถง เซลล

สตรหนงๆจะรบคาจากเซลลตวแปรตามแนวนอนหรอแนวตงเพยงขางละ 1 เซลลเทานน ซงใน

ปญหาอนอาจจาเปนตองใชการคานวณทซบซอนมากขน โดยเซลลสตรหนง จะใชเซลลตวแปร

มากกวาเซลลเดยวกเปนไดโดยใชสตรพวก Lookup ชวยในการเลอกขอมลมาใชคานวณ

นอกจากเซลลสตรจะรบคามาจากเซลลตวแปรแลว เซลลสตรยงอาจรบคาตอมาเซลลสตร

คานวณในขนกอนไดอก ซงจะเหนไดชดจากตารางคานวณงบการเงนหรอวางแผนการผลตทม

ยอดคงเหลอปลายงวดสงตอไปตงเปนยอดคงเหลอตนงวดของชวงเวลาถดไป

ตารางคานวณทดตองมความยดหยนสามารถคานวณใหผลลพธไดตามตองการตลอดไปไมวาจะ

มการโยกยายหรอแยกตารางตวแปรไปวางไวทชทอนเหนอแฟมอน ดงนนพอสรางตาราง

คานวณเสรจ ขอใหทดลอง cut ตารางไปวางไวทตาแหนงอนหรอโยกยายเซลลตวแปรแยก

ออกจากกน เพอพสจนวาตารางคานวณยงคงสามารถใหผลลพธถกตองตามเดมหรอไม

ตวอยางตารางคานวณหาระยะเวลาทใชในกะ

สมมตวาลกจางคนหนงเขางานตงแตเวลา 7:00-9:00 น. ใหสรางตารางคานวณหาระยะเวลาท

เขาทางานในกะทกาหนดซงเรมตงแตเวลา 8:00-10:00 น.

จากคาถามขางตนน คณคงคดคาตอบในใจไดวาตองทางานในกะเปนเวลา 1 ชวโมงใชไหม

เพราะลกจางคนนออกจากงานเวลา 9:00 น. จงนบระยะเวลาตงแตเรมกะตอน 8:00 น. ไป

จนถงเวลาทเขาออกจากงาน ไดเปนระยะเวลา 1 ชวโมง (8:00-9:00) ซงคงหาทางสรางสตร

คานวณไดไมยาก แตถาเขามชวงทเขาทางานหลากหลายกรณจะใชสตรอยางไร

1. ตรงกบกะ (8:00-10:00)

2. อยภายในกะ (8:30-9:00)

330 

 

Copyright of www.ExcelExpertTraining.com 

3. ครอมกะ ทงกอนและหลง (7:00-12:00)

4. ครอมกะ เพยงชวงเรมงาน (7:00-9:00)

5. ครอมกะเพยงชวงเลกงาน (9:00-12:00)

6. นอกกะ ชวงกอนกะ (6:00-7:00)

7. นอกกะ ชวงหลงกะ (11:00-12:00)

สตรคานวณหาระยะเวลาทางานทใชในกะ ในเซลล H4 = MAX( 0, MIN(F4,D4) -

MAX(E4,C4) ) โดยแยกอธบายแตละสวนในสตรได ดงน

• MIN(F4,D4) เปนการนาเวลาปลายกะมาเทยบกบเวลาปลาย job (เวลาออกจากงาน) เพอหาเวลาสดทายทเปนไปไดทเกดขนกอน

• MAX(E4,C4) เปนการนาเวลาตนกะมาเทยบกบเวลาตน job (เวลาเรมเขางาน) เพอหาเวลาสดทายทเปนไปไดทเกดขนหลงสด

• MIN(F4,D4)-MAX(E4,C4) คานวณหาระยะเวลาทางานทใชในกะ

• MAX(0,xxx) ปรบผลลพธทคานวณไดใหไมมทางตากวา 0

สตร = MAX(0,MIN(F4,D4)-MAX(E4,C4)) น เปนสตรสนๆทสามารถใชแทนสตร IF เพราะ

หากจะใช IF ในการคานวณกจะตองนา IF มาซอนกนถง 7 ชน

331 

 

Copyright of www.ExcelExpertTraining.com 

ตารางคานวณตองมากอน สวนสตรลดมาทหลง

ทกวนนคณสามารถคนหาสตรคานวณเพอหาคาตอบในปญหาตางๆไดโดยตรงจากอนเตอรเนต

หรอยกคาถามไปหารอในฟอรมถามตอบปญหา Excel ไดไมยาก หลายๆครงทเดยวทจะไดรบ

คาตอบเปนสตรซอนกนยาวเหยยดเปนหนา จนอดทงในความสามารถของคนทสรางสตร

เหลานนไมไดวาเขาคดสตรกนมาไดอยางไร

หากจะไลเรยงลาดบความเกงเกยวกบการใช Excel แลว การทเกงมความสามารถสรางสตร

ยากๆยาวๆได ถอวาเปนความเกงขนสงทมกเปนความสามารถเฉพาะตว ยากทคนอนจะ

เลยนแบบหรอเขาใจทไปทมาของสตรทนามาซอนกน เพราะคนเกงแตละคนมกเลอกใชสตรท

ตนถนดแตกตางกนไป แตอยางไรกตาม ในเรองสตรทตวผมเองคดขนนน หลายๆครงทเดยวท

พบวาไมสามารถแกะสตรยาวๆทตวเองเปนคนตนคด จงเปนสงทนาเปนหวงอยางยงวา ในเมอ

แมแตตวผทคดสตรขนเองยงไมสามารถเขาใจทไปทมาของแตละสวนในสตรยาวๆไดเลย แลว

ไฉนผอนจะเขาใจสตรทตนไมไดสรางเองหรอสามารถนาสตรไปดดแปลงใชงานไดเลา ดงนน

การสรางสตรยากๆยาวๆใหแกผอ นใช จงเปนการสรางปญหาระยะยาวใหเกดขนกบผใชสตรท

ตนเองไมไดเปนคนสราง เพราะวาเมอใดทเงอนไขในการคานวณแตกตางไปจากเดม เมอนนก

จาตองยอนกลบมาตงคาถามใหคนอนชวยสรางสตรใหมใหอก

แทนทจะใชสตรลดซงเปนสตรซอนกนยาวเหยยด แนะนาใหกระจายการคานวณออกเปนหลาย

เซลลเพอแยกคานวณแตละอยางกอน แลวจงนาผลลพธทไดไปคานวณหาผลลพธสดทาย จะ

เปนวธชวยสรางความเขาใจใหเกดขนถงทไปทมาของสตรวาคดกนมาไดอยางไร

ยกตวอยางสตรคานวณหาชอแฟม ซงดแลวยากทจะจา และไมมทางรวามหลกการคดมาได

อยางไร

=MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filenam

e"))-FIND("[",CELL("filename"))-1)

สตรนมทมาจากสตร

=MID(ขอความทมช อแฟม, เลขตาแหนงเครองหมาย [, เลขจานวนตวอกษรของชอ

แฟม)

แยกคานวณแตละสวนไดตามรปตอไปน

332 

 

Copyright of www.ExcelExpertTraining.com 

แทนทจะใชสตรยาวจนจาแทบไมไหวในเซลล B7 ใหเรมจากการใชสตรหาคาทเกยวของกบ

การแยกคาทละขน ดงน

1. เซลล A1 ใชสตร =CELL("filename") เพอหาชอแฟม โดยคาตอบทไดจะแสดงทงชอ drive ชอโฟลเดอร ชอแฟม และชอชท

2. เซลล B3 และ B4 ใชสตร =FIND("[",$A$1) และ =FIND("]",$A$1) เพอคานวณหาตาแหนงของเครองหมายวงเลบ [ ] ตามลาดบ

3. เซลล B5 ใชสตร =MID(A1,B3+1,B4-B3-1) เพอแยกเฉพาะสวนทเปนชอแฟมออกมาใชงาน

333 

 

Copyright of www.ExcelExpertTraining.com 

การออกแบบโครงสรางตารางคานวณรวมกบสตรลด

จากสตร = MAX(0,MIN(F4,D4)-MAX(E4,C4)) ซงใชคานวณหาระยะเวลาทใชในกะซงได

อธบายทไปทมาของแตละสวนในสตรแลววาเปนอยางไร จากนขอใหคณคดตอไปอกวาจะนา

สตรนไปใชในการวางแผนโดยจาเปนตองนาสตรนไปใชรวมกบตวแปรอนๆ เชน ชวงเวลาของกะ

อนๆ ชวงเวลาเขางานในวนอนๆหรอเวลาเขางานของลกจางคนอน ตลอดจนหาทางคานวณ

คาแรงทตองจายออกเปนตวเงนนน ตองออกแบบตารางคานวณใหมหนาตาอยางไรด

ตวอยางนขอสมมตวาในกาหนดเวลาทางานแตละวน ตงแต 6:00-24:00 น.นน ถกแบงออกเปน

8 กะ แตละกะเรมจากชวงเวลา 6:00, 8:00, 10:00, 12:00, 13:00, 17:00, 19:00, และ

22:00 โดยกาหนดคาแรงในชวงกะทเรม 8:00, 10:00, 13:00, และ 17:00 ใหใชอตราคาแรง

ปกต สวนกะอนๆมอตราคาแรง OT 1.5 เทาของอตราปกต

แรกสดผมตดสนใจวา จะยงไมนาประเดนเรองคาแรงมาใชในการคานวณ โดยตองการคานวณ

ใหไดระยะเวลาทใชในแตละกะใหไดกอน เพอเผอวาจะสามารถใชตวเลขระยะเวลาไปใชในงาน

วางแผนอนทอาจเกยวของไดอก เชน หากตองการวดประสทธภาพในการทางาน กอาจนา

ระยะเวลาทใชในแตละกะไปคณกบอตรากาลงผลตมาตรฐาน แลวนามาเปรยบเทยบกบผลงานท

ผลตไดจรงในแตละกะวาดกวาหรอตากวามาตรฐานอยางไร

ในการออกแบบตารางคานวณใหเลอกวางแนวตารางทอาจจะมรายการเพมใหเพมไดใน

แนวนอน จะสะดวกกวาการวางตารางทเพมไวตามแนวตง ดงนนจงกาหนดใหแบงหวตารางท

เปนกะตางๆไวตงแตเซลล E5:L5 เพราะเชอวาสวนนคงไมมการปรบเพมจากเดมมากนก แลว

กาหนดใหใชตารางดานซายสดเรยงลาดบงานแตละงานไปเรอยๆ จากเซลล B6:D10

334 

 

Copyright of www.ExcelExpertTraining.com 

ตวเลขเวลาเรมกะทบนทกไวในเซลล E5:L5 นน ยงถกนาไปกระจายแยกเปนเวลาเรมกะ

(From) และเวลาสนสดของกะ (To) ไวทเซลล E2:L3 เพอแสดงใหเหนชดเจนขนวาแตละกะม

เวลาเรมตนและสนสดอยางไร และยงเผอไวใชกบสตรคานวณหาระยะเวลาทใชในกะอกดวย จะ

ไดทาใหสตรมการใชตาแหนงอางองในแนวเดยวกนไปตลอด ชวยใหสรางและแกะทไปทมาได

งายขน

สวนดานของรายละเอยดการทางานนน ในชวงแรกนใชเลขทงานเรยงไปเรอยๆไวกอนในเซลล

B6:B10 ซงในอนาคตอาจเปลยนจากเลขทงาน ไปเปนชอคน หรอเลขเครองจกรแทนกได ทงน

เพอใชแสดงชอรายการเทานนวาเปนการทางานของใคร และสามารถพมพรายการตอไปไดอก

นบหมนรายการตามแนวนอน

กาหนดใหบนทกเวลาเรมงาน (Start) และออกจากงาน (Stop) คขนานกบเลขท Job ไวใน

เซลลตงแต C6:C10 และ D6:D10 ตามลาดบ

ตารางตงแตเซลล E6:L10 ใชสตร =MAX(0,MIN( E$3, $D6 ) - MAX( E$2, $C6 )) เพอ

คานวณหาระยะเวลาททางานในแตละกะ โดยสรางสตรนลงไปในเซลล E6 เซลลเดยวแลว

copy ไป paste เพอใชคานวณทกเซลลตงแต E6:L10

เพอแสดงใหเหนเฉพาะตวเลขเวลาทคานวณได ไมใหแสดงตวเลขเวลาทเทากบ 0 จงเลอกใช

Format แบบ hh:mm;; และใชสพนแยกแตละกะทใชอตราคาแรงปกตออกจากพนตารางสวนท

ใชอตราคาแรงพเศษ (OT)

จากนนสรางสตรรวมหายอดระยะเวลาททางานในชวงอตราปกตและชวงอตรา OT ไวในตาราง

ดานขวาตงแตเซลล N6:O10 ซงเมอนาไปคณกบเลขอตราในเซลล Q4 และ R4 แลว ทาให

คานวณหาคาแรงแยกประเภทของอตราแตละตวแสดงใหเหนในตาราง Q6:R10

วเคราะหลกษณะโครงสรางตารางคานวณทใช

1. พนทตารางทใชรบตวแปร เชน B6:B10, C6:C10, D6:D10, และ E5:L5 ถกวางไวเปนแนวคขนานกบแนวตารางสตรคานวณ E6:L10

2. สตรคานวณในพนทตาราง E6:L10 เกดจากสตรในเซลล E6 เพยงเซลลเดยวทนาไป paste ตอใหเซลลอนๆ ทาใหสะดวกในการแกไขสตรไมตองคนหาและแกไขสตรในเซลลแตละเซลล

3. ตารางกาหนดเวลาแตละชวงกะ E2:L3 ชวยชชดวาแตละกะมเวลาใด ชวยให สรางสตรคานวณไดงายขนและยงทาใหมความเขาใจชดเจนมากขนสาหรบผใชงานทวไป ซงในอนาคตหากไมตองการแสดงพนทสวนนกสามารถโยกยายไปซอนทอน

335 

 

Copyright of www.ExcelExpertTraining.com 

4. จดเดนของโครงสรางตารางซงชวยใหสามารถคานวณคาแรงในแตละอตราได คอ การใชตารางแบงออกเปนแตละกะเพอแยกคานวณหาระยะเวลาทใชในกะนนๆกอน และยงชวยใหสามารถตรวจสอบความถกตองของการคานวณไดงาย ชดเจนกวาการคดสตรยากๆยาวๆเพยงเพอคานวณแยกแตละกะใหแลวเสรจในเซลลเดยว

5. ในแงของเลขตวเงนคาแรงทโดยทวไปถอเปนเรองปกปด ไดถกแยกคานวณในตาราง Q6:R10 ชวยใหสามารถใชตารางสวนนในการบรหารคาแรงไดโดยตรงและสามารถโยกยายตารางไปแยกเกบไวเปนเรองลบในชทอนหรอแฟมอน

6. เลขท Job ในตาราง B6:B10 นน ในอนาคตสามารถบนทกรหสหรอชอลงไปแทน จากนนจงนาสตร Vlookup หาเวลาทางานมาแสดงโดยอตโนมตในตาราง C6:D10 ไดดวย หรออาจใชคาสง Data > Table เพอสงตวแปรลงไปแทนเลขท Job เพอคานวณลดหายอดคาแรงไดทนทโดยไมจาเปนตองยอนกลบมาเพมรายการใหม

7. สามารถใชกบการคานวณหาคาแรงไดหลายกรณ เชน คาแรงของลกจางคนหนงในวนหนง หรอคาแรงของลกจางคนหนงรายวน หรอคาแรงของลกจางเรยงตวไปทกคนในแตละวน ซงคณอาจใชชทเดมชทเดยวคานวณ หรอ copy เปนชทใหมเพอคานวณแยกตามรายบคคล

หมายเหต :

1. การไลลาดบงานในตวอยางนเปนการไลจากบนมาลางหรอจากซายไปขวา ซงในแงการวางแผนกาหนดการณแลว เรยกวา แบบ Push เพอหากาหนดเวลาทงานเสรจ

2. ถาไลลาดบงานจากลางไปบนหรอจากขวามาซาย จะกลายเปนแบบ Pull เพอหากาหนดเวลาทตองเรมงาน

3. หากตองการแทรกระยะเวลาหยดพกของแตละ Job ซงยอมมผลทาให กาหนดเวลาเรมตนของ Job ถดไปชาลง สามารถปรบเพมไดงายๆโดยสรางสตรหากาหนดเวลาเรมงานใน Job ถดไปใหมคาเทากบ เวลาออกจากงานของ Job กอนบวกดวยระยะเวลาทหยดพก

4. ผสนใจตารางคานวณหาระยะเวลาทใชในกะ สามารถเรยนรไดจากการอบรมหลกสตรประยกตใช Excel เพอวางแผนความตองการวสด(MRP)และจดตารางการผลต หรอหลกสตรฉลาดใชสารพดสตร Excel อยางมออาชพ หรอ download ตวอยางไดฟรจาก http://www.excelexperttraining.com/extreme/files/timeplan/timeconsume.xls

336 

 

Copyright of www.ExcelExpertTraining.com 

การออกแบบโครงสรางตารางคานวณ ภาค 2

ตารางคานวณในภาคแรกเกดจากการใชสตรทมโครงสรางเดยวกนซาในทกเซลลของตาราง

คานวณ โดยกาหนดใหหาทางสรางสตรขนเพยงสตรเดยวในเซลลแรกตรงหวมมซายบนสดของ

ตาราง แลวจดการ Copy สตรไปใชทงตาราง และจากการทใชสตรทมโครงสรางเดยวกนไป

ตลอดนยอมแสดงวาเปนสตรทคานวณหาคาตอบในเรองเดยวกน จากนนเราจงใชโครงสรางของ

ตารางเปนตวชวยในการเลอกใชคาตอบจากตาแหนงของเซลลทเกยวของกบคาตอบ ซงตาราง

คานวณแบบแรกนไมเหมาะกบการคานวณทมความสลบซบซอนมากนก

ในบทความภาคท 2 จะนาโครงสรางตารางคานวณทมความซบซอนมากขนมาใหศกษากนโดย

ขอเรยกตารางคานวณแบบนวา ตารางคานวณแบบ Module ซงสามารถนาไปใชงานกนได 2

แบบ คอ แบบ Module เดยว (Single Module) และแบบ Module รวม (Compound Module)

ความหมายของ Module

ผทเคยใช Excel สรางตารางคานวณงบการเงนมากอน ตองทราบดวากวาจะคานวณหายอด

กาไรขาดทนมาไดตองคานวณผานยอดรายรบหกตนทนขายเปนกาไรขนตน จากนนจงนายอด

ตวเลขกาไรขนตนไปหกดวยคาใชจายตางๆและภาษเพอเปนยอดกาไรขาดทน ซงลกษณะของ

การคานวณงบการเงนนแหละคอลกษณะของตารางคานวณแบบ Module

ในงานดานวางแผนการผลตมลกษณะการใช Excel แบบ Module เชนกน นบตงแตรบคาสงซอ

แลวตองนายอดไปเปรยบเทยบกบสนคาคงคลงเพอคานวณหายอดวตถดบทตองใชตามกาลง

การผลตทมอย อกทงตองกาหนดเวลาใหกบตวเลขการสงผลตหรอจดหาวตถดบตามโครงสราง

ผลตภณฑใหไดอกวา ตองการใชในปรมาณเทาใดและตองเรมสงของเมอใดเพอใหสามารถ

ดาเนนการตามขนตอนการผลตแลวไดสนคาสาเรจรปตามเวลาทกาหนด

Module คอ ตารางทประกอบดวยเซลลสตรคานวณหลายๆเซลลซง

คานวณตอเนองกนไปทละขน โดยผลการคานวณทไดในแตละขนไม

จาเปนตองมความหมายใดเลยกได แตเมอนามาคานวณรวมกนหรอ

คานวณตอเนองกนแลวตองทาใหไดผลลพธตามตองการ

337 

 

Copyright of www.ExcelExpertTraining.com 

จากคาจากดความของ Module ขางตน อาจทาใหคณหลงภมใจวาตนเองเคยสรางตาราง

คานวณแบบ Module นมานานแลว บทความนไมเหนมอะไรทแปลกใหมตางจากทคณรดอย

แลว จงขอใหลองนกดวาหากคณสามารถใช Excel อยางคอมพวเตอรไดสมบรณจรง คณตอง

หาทางนา Module ทสรางไวนนมาใชซาแลวซาอกโดยไมจาเปนตองสราง Module ขนใหม

และดวยตารางคานวณแบบ Module ทคณมเพยง Module เดยว จะทาอยางไรทจะนาตารางนน

มาใชซาแลวซาอก เพอหาทางใช Module เดยว ชทเพยงชทเดยว หรอแฟมเพยงแฟมเดยวกบ

งานคานวณทคณคดไมถงวาจะใช Excel ทาไดโดยไมตองพงการเขยนโปรแกรม Visual Basic

มาชวยแมแตนอย

จดประสงคของการสรางตารางคานวณแบบ Module

1. เพอลดความซบซอนของสตรคานวณ จากเดมทตองสรางสตรยากๆยาวๆลงไปในเซลลเพยงเซลลเดยว เปลยนไปเปนการกระจายสตรแยกใหใชเซลลแตละเซลลมสตรคานวณทละขนสงผลการคานวณตอเนองกนไป ทาใหสตรสนลง และทาใหคณเขาใจลาดบการคานวณไดงายขน

2. เพอทาใหคณสามารถใช Excel กบการคานวณงานทมหลายขนตอนหรอเกยวของกบการทางานทมลกษณะตอเนองกน

3. เพอชวยใหคณสามารถลดขนาดแฟมและจานวนตารางทมอย

ลกษณะโครงสรางตารางคานวณแบบ Single Module

ตารางคานวณแบบ Single Module มลกษณะตรงกบความหมายของคาวา Single นนคอเปน

ตารางคานวณแบบตารางเดยวหรอตารางเดยว ทสามารถคานวณใหผลลพธทตองการได

ครบถวนภายในตารางคานวณตารางเดยว

ผใช Excel ทวไปมกใช Excel กนแบบผดๆ จากความงายของการใชตารางของ Excel เชน ถา

รายงานทตองการมรอยหนา เรากมกจะออกแบบตาราง Excel ใหมความยาวเหยยดเลยนแบบ

ตามหนากระดาษทตองการพมพ หรอเมอใดทตองการรายงานตามรายเดอน กมกจะสรางชท

หลายๆชทแยกเปนชทละเดอนหรอสรางตารางแบงเปนแฟมคานวณตามรายเดอน ซงยงดทในป

หนงมแค 12 เดอน จงทาใหมจานวนชทหรอแฟมเพยง 12 ชทหรอ 12 แฟม แตถาเปนงานท

ตองใชตดตอกนไปหลายปหรอแบงรายงานตามวตถดบนบรอยนบพนชนด เหนทยอมทาใหม

จานวนชทหรอจานวนแฟมทมการคานวณแบบเดยวกนซามากจนจดจากนไมไหว

338 

 

Copyright of www.ExcelExpertTraining.com 

ตารางคานวณแบบ Single Module เปนตารางคานวณเพยงตารางเดยวทคณสามารถกาหนดให

ตารางคานวณนนเลอกรบตวแปรตางไปจากเดมไดตามตองการ ทาใหสามารถใชตารางคานวณ

เพยงตารางเดยวหรอหนาเดยวเพอแสดงผลการคานวณเปลยนไปเปนตารางคานวณรายละเอยด

ของเดอนทตองการหรอวตถดบทตองการ โดยใชโครงสรางตารางแบงออกเปน 3 สวน ดงน

1. สวนของตาราง Input ใชสาหรบเกบตวแปรทตองการตามรายเดอนหรอแตละชด ซงตาราง Input นใชจดเกบขอมลรายเดอนหรอแตละชดไวเปนแนวนอนหรอแนวตงตดกนกได

2. สวนของตารางสตรตวกลางใชดงขอมล เพอเลอก Input ตามเลขเดอนหรอเลขทของชด ซงมกใชสตร Index เพอเลอกดงขอมลจากตาราง Input ในชทเดยวกน หรอใชสตร Indirect เพอเลอกดง Input จากตารางทแยกชทกน

3. สวนของตารางคานวณ เพอคานวณตามคาทรบมาจากตารางสตรตวกลาง

339 

 

Copyright of www.ExcelExpertTraining.com 

ตวอยางโครงสรางตารางคานวณแบบ Single Module ในชทเดยว

(Download ตวอยางไดจาก

www.ExcelExpertTraining.com/extreme/files/database/singlemodule.xls)

ตวอยางนเปนการคานวณงบกาไรขาดทนจากตวอยางประกอบการอบรมหลกสตรสดยอดเคลด

ลบและลดของ Excel ซงกาหนดใหมตารางทตองการคานวณตามยอดขายและตนทนทตางกน

ไปอย 3 case แตละ case กาหนดใหแปรเปลยนยอดขายและตนทนตางกนไป ดงนนแทนท

จะตองสรางตารางคานวณขน 3 ตารางเพอแยกคานวณแตละ case ขอใหออกแบบตารางในชท

เดยวกนแบงเปน 3 สวน

สวนแรกใชสาหรบบนทกตวแปรแตละ case ซงในภาพใชตารางดานขวาสดตงแต

เซลล I3:K6 (ตงชอ Range Name ตารางสวนนวา MyData) แบงแยกใหแตละ column

บนทกตวแปรของแตละ case เชน case1 เปนพนทตงแตเซลล I3:I6 โดยกาหนดใหเรยงลาดบ

ตวแปรของยอดขายและตนทนตอกนไปใน column เดยวกน แลวใช column ถดไปบนทกตว

แปรของ case ตอไปในทานองเดยวกน

สาเหตทตองจดใหบนทกตวแปรของแตละ case ไวในแนวตงเดยวกนนน เพอทาใหสามารถใช

สตร Index ดงขอมลตวแปรทเกบไวในแนวตงเดยวกนไปพรอมกน โดยสรางสตร Index

ตอไปนไวในเซลล F3:F6 แบบ Array (โดยเลอกเซลล F3:F6 แลวสรางสตร จากนนกดป ม

Ctrl+Shift+Enter พรอมกนเพอบนทกสตรลงไปทเดยวทกเซลล จะพบเครองหมายวงเลบปก

กาปดหวทายสตรใหเอง)

340 

 

Copyright of www.ExcelExpertTraining.com 

=INDEX( MyData, 0, CaseNum )

• MyData เปนตารางบนทกตวแปรตงแตเซลล I3:K6 • เลข 0 เพอกาหนดใหสตร Index ดงขอมลทก Row • CaseNum คอเซลล F2 ใชสาหรบใสตวเลข 1, 2, หรอ 3 ลงไป เพอทาใหสตร Index

ดงขอมล Input จาก Case1, Case2, หรอ Case3 ตามลาดบ

เมอดงตวแปรตามตวเลขของ CaseNum ทตองการมาแสดงในเซลล F3:F6 ไดแลว จากนนจง

สรางสตร link ตามปกตไปใชคานวณงบกาไรขาดทนในสวนของตารางดานซายสดจากเซลล

D3:D9

ในกรณทตองการเปรยบเทยบผลของการคานวณทก case พรอมกน ใหสรางตาราง Data

Table แบบ 1 ตวแปร ทใช Row Input Cell เปนเซลล CaseNum ตามรปตอไปน

เซลล H11:K18 เปนพนทตารางทใชกบคาสง Data > Table แลวกาหนดใหเซลล F2 หรอ

CaseNum เปน Row Input Cell หรอเซลลมรบคาตวแปรจากหวตารางตามแนวนอน ซง

กาหนดใหใชเซลล I11:K11 บนทกหมายเลข 1, 2, 3 ซงหมายถงเลขท case ไว สวนหวตาราง

ดานซายสดตงแต H12:H18 เปนสตรท link การคานวณมาจากตารางคานวณงบกาไรขาดทน

จากเซลล D3:D9

เมอตาราง Data Table นทางาน เราจะไดผลลพธการคานวณของแตละ case เสรจใน

พรบตา แตถาเขาใจขนตอนการทางานของ Excel ทละขน จะพบวา Excel คอยๆสงตวเลขตว

341 

 

Copyright of www.ExcelExpertTraining.com 

แปร 1, 2, 3 บนหวตารางดานบนไปทเซลล F2 หรอ CaseNum ทละคา จากนนสตร Index จะ

ทาหนาทดงตวแปรแตละตวตามเลข case สงไปคานวณในงบกาไรขาดทนดานซายสด แลวจง

สงผลลพธกลบมาแสดงในพนทตาราง I12:K18 ตาม case บนหวตารางดานบนของพนทซ งสง

Data > Table นนเอง (การใช Data > Table รวมกบสตร Index นจะทาให Data > Table

สามารถสงตวแปรไปใชคานวณไดไมจากดจานวนตวแปร ถอเปนเคลดการใช Excel ทนอยคน

นกจะใชเปน)

342 

 

Copyright of www.ExcelExpertTraining.com 

ตวอยางโครงสรางตารางคานวณแบบ Single Module แบบแยก Input

ไวในชทอน

ในกรณทการคานวณมความสลบซบซอนมากขนหรอมจานวนตวแปรมากขน คณสามารถแยก

ตารางสวนของการคานวณผลลพธไปไวในชทอนตางหาก เพอทาใหสามารถจดโครงสราง

ตารางไดยดหยนและแยกชทเกบขอมลใหแยกเปนสวนๆไดชดเจนยงขน

ในตวอยางตอไปเปนการคานวณทางสถตของการวด (Calibration) กอนอนขอเลาทไปทมา

ของตวอยางตอไปนกอนวา แตเดมทนนแฟมมขนาดใหญมากเพราะมชทนบรอยชท แตละชทม

สตรคานวณทางสถตยากๆยาวเหยยดหลายๆเซลล

ทกครงทมการผลต ทางโรงงานตองสมสนคาทผลตไดสงมาตรวจสอบคณภาพกอน โดยวดผล

ออกมาเปนตวเลขแลวนาไปคานวณทางสถตวาเปนตวเลขทอยในชวงทยอมรบไดหรอไม ทก

ครงทจะคานวณ กตองเปดชทใหมแลว copy ตารางคานวณจากชทเกามาแกตวเลขตามการวด

ทเกดขนใหม ดงนนถาตองคานวณกนทกวน วนละหลายๆครง ยอมทาใหมชทใหมเกดขนทก

ครง

นอกจากแฟมจะมขนาดใหญเพราะมชทหลายๆชทแลว สงทนาหวงคอทกครงทตองสรางตาราง

คานวณในชทใหมนน อาจสรางตารางทมสตรคานวณผดเพยนไปจากสตรทสรางไวในชทเดม

หรอแมคานวณไดถกตอง แตนานไปอาจพลงเผลอยอนกลบไปแกไขบางเซลลในบางชทใหตาง

ไปจากทเคยเปน และเนองจากมชทหลายชท จงเปนไปไดวาเมอทาการแกไขไปแลว อาจ

หลงลมจาไมไดวาแกไขชทชอใด และแกไขอะไรทเซลลใดไปบาง ยงกวานนเมอใดทตองการ

แกไขโครงสรางตารางคานวณตามหนาตาใหมทผบรหารกาหนด กตองเสยแรงเสยเวลา

ยอนกลบไปแกไขชทเกาทงหมดทอาจมถงนบรอยนบพนชทเขาไปแลวทเดยว

แทนทจะตองเปดชทใหม ขอใหใชหลกการสรางตารางคานวณแบบ Single Module โดยใช

โครงสรางตารางแบงออกเปน 3 สวน ดงน

1. สวนของตาราง Input ใชสาหรบเกบตวแปรทตองการตามการวดคณภาพสนคาแตละครง ซงตาราง Input นใชจดเกบขอมลการวดแตละครงไวเปนแนวตงตดกน

2. สวนของตารางสตรตวกลางใชดงขอมล เพอเลอก Input ตามเลขทของเลขครงในการวด โดยใชสตร Index เพอเลอกดงขอมลจากตาราง Input ในชทเดยวกน

3. สวนของตารางคานวณ เพอคานวณตามคาทรบมาจากตารางสตรตวกลาง แตเนองจากมการคานวณทซบซอนและเปนรายงานทตองใชตารางขนาดใหญ จงใหใชชทอกชทหนงเปนสวนของการคานวณโดยเฉพาะ

343 

 

Copyright of www.ExcelExpertTraining.com 

จากเดมซงตองมหลายชท จงกลายเปนแฟมใหมซงมชทเพยง 2 ชท ชทหนงเปนชททใชบนทก

ผลการวดคณภาพแตละครง แลวใชอกชทหนงเปนชทแสดงการคานวณทางสถต ( Download

ตวอยางไดจาก www.ExcelExpertTraining.com/extreme/files/analysis/uncerdbf.xls)

โครงสรางภายในชทสาหรบบนทกตวเลขจากการวด

ตารางตงแตเซลล E2:E21 ใชสาหรบบนทกขอมลจากการวดครงแรกแลวใช column ถดไป

บนทกขอมลจากการวดในครงถดไปตดตอกนไปตามแนว column โดยในตวอยางนตงชอพนท

ตารางสวนทใชบนทกขอมลจากการวดนวา DataRange

ตารางดานซายตงแตเซลล C2:C21 เปนสตร Index ใชสาหรบดงขอมลทบนทกไวตามเลขท

ของการวด ซงใชตวเลข 1-20 ใน Column D ชวยในการชตาแหนงเลขท row

=INDEX( DataRange, D2, CaseNo )

• DataRange คอพนทตาราง E2:N21 ใชสาหรบบนทกขอมลจากการวด • D2 เปนเลขท row เนองจากเปนคาแรกจงใชดงคาจาก row ท 1 • CaseNo เปนเซลลรบเลขทครงของการวด ซง link มาจากชทตารางคานวณทางสถต

344 

 

Copyright of www.ExcelExpertTraining.com 

โครงสรางภายในชทสาหรบคานวณทางสถตของการวด

เซลล B4 ถอเปนหวใจของชทน เมอคณพมพเลขท CaseNo ลงไป จะทาใหสตร Index ใน

column C ของอกชทหนงตามภาพกอนหนาน ดงขอมลสงตอมาใชแสดงหรอคานวณในตาราง

คานวณ Uncertainty Budget อกทงยงใชเซลล B4 รวมกบคาสง Data > Table เพอสรป

ผลเปรยบเทยบการวด หรอใชรวมกบคาสงพมพอตโนมตทเขยนดวย VBA ตามนไดอกดวย

For i = StartNum To StopNum

Range("CaseNo") = i

Calculate

ActiveWindow.SelectedSheets.PrintPreview

Next i

• StartNum เปนตวแปรกาหนดตวเลขเรมของเลขท Case ทตองการพมพเปนรายการแรก

• StopNum เปนตวแปรกาหนดตวเลขสดทายของเลขท Case ทตองการพมพเปนรายการสดทาย

• For Next Loop จะสงคา i ไปยงเซลลชอ CaseNo เพอดผลกอนพมพบนจอ (Print Preview) ซงถาเปลยนเปนคาสง Print กจะพมพรายงานตามรายการทตองการโดยอตโนมต

345 

 

Copyright of www.ExcelExpertTraining.com 

การออกแบบโครงสรางตารางคานวณ ภาค 3

ตารางคานวณแบบ Single Module ในภาคนเปนตารางคานวณในกรณทแยกชทหรอแยกแฟม

เพอใชกบงานทมการคานวณสลบซบซอนมากกวาเดม แทนทจะมตารางคานวณเพยงตาราง

เดยวแลวใชขอมลตวแปรสงคาใหมไปคานวณในตารางนนๆในชทเดยวกน คราวนผมจะนาเสนอ

วธการสรางตารางคานวณพรอมกนในหลายชทหรอหลายแฟม จากนนจงเลอกนาผลการคานวณ

จากชทหรอแฟมทตองการไปนาเสนอผลงานตอไป

ผใช Excel ตองคดไวเสมอวา แมวนนขอมลทเกบไวยงคงมไมมากและสามารถใชชทเดยวเกบ

ขอมลทงหมดไวดวยกน แตในอนาคตขอมลทตองเกบไวจะตองมปรมาณของขอมลมากขนไป

เรอยๆ จากเดมทเคยเกบไวในชทเดยว จะกลายเปนตองเกบไวในชทหลายชท และในทสดเมอ

แฟมมขนาดใหญมากแลวใชเวลาคานวณชาลง กตองหาทางโยกยายขอมลแยกออกไปเกบไว

ในแฟมใหมในทสด พฤตกรรมเชนนถอเปนววฒนาการของการใช Excel ทเราทกคนหลกหนไป

ไมพน

ดงนนการออกแบบโครงสรางตารางคานวณทด จงตองหาทางออกแบบตารางตงแตแรกใหใช

พนทตารางแยกเปนสวนๆ เพอสามารถโยกยายตารางจากเดมทเกบอยในชทเดยว ไปแยกเกบ

ในชทใหมหรอแฟมใหมไดทนททตองการ

หมายเหต บทความในภาคนเปนเรองตอเนองกบเรองเดมทไดเขยนอธบายไปกอนแลว จงขอ

แนะนาใหผอานเรมตนศกษาจากบทความภาคแรกเปนลาดบไปจาก

www.ExcelExpertTraining.com/blogs/ หรอนตยสาร EWorld ฉบบเดอนกนยายน 2551 เปน

ตนมา

ลกษณะของตารางคานวณ Single Module แบบแยกชทหรอแยกแฟม

1. ตารางคานวณทแยกชทน มไดหมายความวาใหแยกแตละลาดบของการคานวณใหใช พนทตางชทแลวสงผลการคานวณไปคานวณตอในชทอนตอกนไป แตเปนการรวมลาดบการคานวณทงหมดไวในชทเดยวกน จากนนจงสรางชทใหมใหมตารางคานวณซากบตารางคานวณทมอยในชทเดม เพยงแตวาการคานวณทเกดขนในแตละชทจะเกดจากตวแปรทตางกน เชน ชทเดมใชคานวณตวเลขในอดต สวนชทใหมใหใชคานวณตวเลขในปจจบน จากนนจงนาผลทคานวณไดนามาเปรยบเทยบหาความแตกตางระหวางอดตและปจจบน

2. เมอใดทใชชทหลายๆชทแยกตารางคานวณ ยอมแสดงวาชททงหมดยงคงอยในแฟมเดยวกน เมอนนยอมทาใหแฟม Excel มขนาดใหญขน ซงหากในการใชงานไมได

346 

 

Copyright of www.ExcelExpertTraining.com 

ตองการใหทกตารางทาการคานวณพรอมกน กไมจาเปนตองเกบชททงหมดไวในแฟมเดยวกน กหาทางแยกชทไปแยกเกบเปนแฟมไดทนท จากนนเมอใดทตองการใหแฟมใดคานวณกจดการเลอกเปดเฉพาะแฟมทตองการขนมาสงคานวณ

3. แตละชทหรอแฟมลวนมตารางคานวณทมโครงสรางและลาดบคานวณเดยวกน ซงไมใชเรองยากทจะสรางชทหรอแฟมขนใหมใหมตารางคานวณแบบเดมเพราะเพยงแค copy ตารางทงตารางไปทบกใชงานไดแลว แตถามการแกไขสตรคานวณหรอยายตาแหนงเซลลในชทใด จงเปนขอควรระวงวาตองตดตามไปแกไขทกชทและทกแฟมใหมสตรคานวณและตาแหนงเซลลตรงกนดวยในแตละชทหรอแตละแฟม

4. แทนทจะสรางตารางคานวณแยกชทหรอแยกแฟมซงทาใหเกดขอควรระวงในการตดตามไปแกไขสตรในแตละตารางคานวณดงกลาวขางตนแลว ยงมวธทดกวาโดยการใชชทเดยวเปนตารางคานวณ สวนชทอนๆใหใชสาหรบเกบคาตวแปร จากนนจงใชสตรดงขอมลตวแปรจากชททตองการมาคานวณในชทเดยว และเมอใดทตองการเปรยบเทยบผลของการคานวณกสามารถใช Data Table สรปผลในลกษณะเชนเดยวกบโครงสรางตารางคานวณ Single Module ในชทเดยวตามทไดแนะนาไวในภาคกอน

ตวอยางโครงสรางตารางคานวณ Single Module

แบบแยกชท (อยางงาย)

(Download ตวอยางไดจาก

www.ExcelExpertTraining.com/extreme/files/database/singlemodule.xls)

ตวอยางนดดแปลงมาจากตวอยางทใชในการอบรมหลกสตรสดยอดเคลดลบและลดของ Excel

จากเดมซงรวมตวแปรของงบการเงนทงสาม case ไวตดกนในตารางเดยวกนในชทเดยวกน

เปลยนมาเปนการแยกตวแปรของแตละ case ไวในชทตางหากของมนเอง

โปรดสงเกตวานอกเหนอจากตาแหนงของตารางในชท Case1, Case2, และ Case3 ตองใช

ตาแหนงเซลลตรงกนทงสามชทคอใชเซลล F3:F6 เกบตวเลขของยอดขายและตนทนแลว การ

ตงชอชทใหมคานาหนาวา Case เหมอนกนแลวตามดวยตวเลข 1, 2, หรอ 3 ถอเปนสวนสาคญ

347 

 

Copyright of www.ExcelExpertTraining.com 

ทจะชวยใหสตรทใชดงขอมลจากชททตองการสามารถทาไดงายขนดวย ดงรปตอไปนซ งเปน

ชทชอ SheetModule เปนตารางคานวณทเลอกดงขอมลจากชทชอทตองการมาคานวณ

1. ประเดนสาคญคอตาแหนงเซลล F3:F6 เปนตาแหนงเดยวกบขอมลทแยกเกบไวในชท Case1, Case2, และ Case3

2. เซลล F2 เปนเซลลเดยวเทานนทมการแกไขตวเลข คณสามารถบนทกตวเลข 1, 2, หรอ 3 ลงไปเพอแสดงถงเลขทของ CaseNum ตาม case ทถกแยกไวในชทอน ดงนนเมอนาตวเลขในเซลล F2 ไปตอทายกบคาวา Case โดยใชสตร =”Case”&$F$2 ยอมไดชอชททตองการ (ตามภาพน F2 มเลข 2 บนทกอย ดงนนสตร =”Case”&$F$2 จงคนคาเปนคาวา Case2)

3. สตรในเซลล F3:F6 คอ =INDIRECT("Case"&$F$2&"!"&ADDRESS(ROW(),COLUMN()))

3.1. สตรสวนตงแต "Case"&$F$2&"!" จะคนคาออกมาเปนคาวา Case2!

3.2. สตรสวนของ ADDRESS(ROW(),COLUMN()) คนคาออกมาเปนตาแหนงเซลลของเลขท row และเลขท column ของตาแหนงเซลลทมสตรนอย เชน ในเซลล F3 สงผลใหสตร Row() มคาเปน 3 และสตร Column() มคาเปน 6 เพราะ Column F เปน Column ท 6 จงสงคาไปยงสตร ADDRESS(3,6) ใหคนคาเปน $F$3

3.3. เมอนาผลลพธคาวา Case2! มาเชอมกบคาวา $F$3 ดวยสตร "Case"&$F$2&"!"&ADDRESS(ROW(),COLUMN()) จงไดชอชทกบตาแหนงเซลลทตองการออกมาเปนคาวา "Case2!$F$3"

3.4. สตร Indirect จงหาคาจากชอชทและตาแหนงเซลล "Case2!$F$3" ไดตวเลข 200 ตามตองการ

4. เมอหาคาดวยสตร Indirect ในเซลล F3:F6 ไดแลว จงสงคาตอไปคานวณในตารางคานวณงบการเงนในพนทตารางดานซายสด D3:D6 เพอใชคานวณหา Margin

เคลดลบทใชรวมกบโครงสรางตารางคานวณ Single Module แบบแยกชท

1. กรณตองการสรางชทหลายชทใหมหนาตาแบบเดยวกนโดยการสรางงานพรอมกนเพยงครงเดยว ใหเรมจากกดป ม Ctrl พรอมกบคลกท Sheet Tab เพอเลอกชททตองการ หรอหาก

348 

 

Copyright of www.ExcelExpertTraining.com 

ตองการเลอกทกชททตดกน ใหเรมจากอยในชทแรกแลวกดป ม Shift พรอมกบคลกเลอกชทสดทาย ซงจะพบคาวา [Group] แสดงไวตอทายชอแฟมทปรากฏอยดานบนสดของหนาจอ จากนนทกอยางทคณสรางลงไปในชทจะถกสรางพรอมกนลงไปในชททกชททเลอกไวใน [Group] เดยวกน และเมอตองการเลกงานใหคลกเลอกชทอนทไมไดเลอกไว หรอชทอนในกรณทเดมเลอกไวทกชท ซงจะพบวาคาวา [Group] หายไป

2. กรณตองการสรางชทหลายชทใหมหนาตาแบบเดยวกนโดยไมตองใชวธ Copy จากชทตนแบบไปยงชทอน ใหเลอกชทแบบ [Group] โดยกดป ม Ctrl หรอ Shift แลวคลกเลอกชทเชนเดยวกบวธในขอแรก จากนนใหคลกเลอกพนทตารางทตองการ แลวสง Home > Fill > Across Worksheets หรอใน Excel 2003 ใหสง Edit > Fill > Across Worksheets

3. กรณตองการคานวณหายอดรวมของทกชท ใหเรมจากพมพสตร =sum( แลวคลกเซลลในชทแรกทตองการ จากนนกดป ม Shift แลวคลกเลอกชทสดทายแลวกดป ม Enter จะไดสตร =SUM(Case1:Case3!F3) โดยสตรนจะหายอดรวมของเซลล F3 จากทกชทตงแตชทชอ Case1 ถง Case3 ใหทนท โดยไมตองเสยเวลาสรางสตรบวกตอกนทละเซลลทละชท ตามสตร =Case1!F3+Case2!F3+Case3!F3 อกตอไป

4. กรณตองการคานวณหายอดรวมของทกชท ”เวน” เฉพาะคาจากชททมสตรยอดรวม ให พมพสตร =sum('*'!f3) โดยขอสมมตวาในแฟมม 3 ชทตดกนตามลาดบ คอชอ Sheet1, Sheet2, และ Sheet3 ถาสรางสตรนลงไปใน Sheet1 จะไดสตร =SUM(Sheet2:Sheet3!F3) แตถาสรางสตรลงไปใน Sheet2 จะไดสตร =SUM(Sheet1!F3,Sheet3!F3) หรอถาสรางสตรลงไปใน Sheet3 จะไดสตร =SUM(Sheet1:Sheet2!F3)

5. กรณตองการจดการแสดงโครงสรางแตละชทใหดตางกนไปหลายๆแบบโดยอตโนมต ใหจดโครงสรางตารางโดยอาจสง Hide Row/Column ซอนสงทไมตองการแสดง เพอทาใหเหนเฉพาะพนทตารางเทาทตองการกอน จากนนใหสง View > Custom Views > Adds แลวตงชอ View ใหกบโครงสรางตารางทเหนอยบนจอในขณะนน จากนนใหจดหนาตาตารางใหมในชทเดมซาหรอในชทอนตามตองการแลวตงชอ Custom View เพมเตมจนครบ แลวเมอใดทตองการไปทชทใดกไมจาเปนตองใชวธไลคลกไปทละชทอก แตใหสง View > Custom View แลวคลกเลอกชอ View แทน ซงวธนนอกเหนอจากชวยเลอกตารางในชททตองการใหแลว ในแตละ View ยงบนทก Print Settings และ Filter Settings ตามใหอกดวย

6. กรณตองการใชสตรเพอคนหาชอชททกชทมาแสดงในเซลล ใหใชสตร =GetSheetName(เลขทชท) โดยสรางรหส Function VBA ตอไปนไวในแฟม Function GetSheetName(x) GetSheetName = Sheets(x).Name End Function

349 

 

Copyright of www.ExcelExpertTraining.com 

ข นตอนการปรบโครงสรางตารางคานวณ Single Module จากแบบแยกชทใหเปนแบบ

แยกแฟม

1. แกสตร Indirect ในเซลล F3:F6 เปนสตร =Case1!F3, =Case1!F4, =Case1!F5, และ =Case1!F6 ตามลาดบเพอ link ขอมลมาจากชทชอ Case1 ในตาแหนงเซลลเดยวกน

(Download ตวอยางไดจาก www.ExcelExpertTraining.com/extreme/files/database/singlemodulelink.zip)

2. Move ชทชอ Case1, Case2, Case3 ไปเปนแฟมใหม โดยใชวธคลกขวาทช อชท Case1 แลวเลอก Move or Copy จากนนคลกเลอก (new book) แลวกด OK จะพบวาชท Case1 ถกยายทงชทไปเปนแฟมใหมทมชทเพยงชทเดยว แลวใหทาซากบชท Case2 และ Case3 ใหเปนแฟมใหมแยกจากกนโดยใชวธเดยวกนนอก

3. จดเกบแฟมทเกดขนใหมจากการยายชท Case1, Case2, และ Case3 โดยตงชอแฟม

เปน SingleModuleLinkFilesCase1.xls, SingleModuleLinkFilesCase2.xls, และ SingleModuleLinkFilesCase3.xls ตามลาดบ แลวเมอกลบไปคลกดสตรในเซลล F3:F6 ในชท SheetModule จะพบวาสตรเดมทเคยเปนสตร link ขามชทถกแกไขเองเปนสตร link ขามแฟม =[SingleModuleLinkFilesCase1.xls]Case1!F3, =[SingleModuleLinkFilesCase1.xls]Case1!F4, =

350 

 

Copyright of www.ExcelExpertTraining.com 

[SingleModuleLinkFilesCase1.xls]Case1!F5, และ =[SingleModuleLinkFilesCase1.xls]Case1!F6 ตามลาดบใหเอง

4. เมอตองการดงขอมลจาก Case2 หรอ Case อน ใหเปดแฟมปลายทางทมสตร link ขาม

แฟมแสดงอยข นมาใชงานเพยงแฟมเดยว (โดยไมตองเปดแฟมตนทาง) จากนนสง Office > Prepare > Edit Links to Files หรอใน Excel 2003 สง Edit > Links

5. ใหคลกเลอกชอแฟมตนทางเดม แลวกดป ม Change Source จากนนไลคลกหาแฟมตน

ทางใหมทตองการ ซงเมอเลอกแฟมตนทางใหมไดเรยบรอยและกดป ม OK > Close กลบมาแฟมปลายทาง จะพบวาสตรเกาถกแกไขใหดงขอมลมาจากแฟมตนทางใหมให

351 

 

Copyright of www.ExcelExpertTraining.com 

เองทนท

ขอควรระวงในการใชขอมลท link ขามแฟม

1. โครงสรางภายในของแฟมตนทางตองเหมอนกนทกแฟม โดยตาแหนงเซลลใดเปนขอมลอะไรกตองกาหนดใหทกแฟมใชตาแหนงเซลลเดยวกนทงหมด

2. หากแฟมตนทางมชทเดยวแตใชชอชทตางกนเชนในตวอยางนใชชอชทวา Case1, Case2, และ Case3 เมอสง Change Source จะพบวา Excel สามารถปรบสตร link ขามแฟมใหถกตอง แตถาแฟมตนทางมหลายชท ตองตงชอชทใหตรงกนทกแฟมดวย มฉะนน Excel จะมขนตอนเปดจอขนมาถามวาใหจบชอชทใดแทนดวยชอชทใด

3. ถาตองการแกไขโครงสรางตารางโดยเฉพาะตาแหนงเซลลในแฟมตนทาง กอนจะแกไขใดๆใหเปดทกแฟมท link กน ทงแฟมตนทาง แฟมปลายทาง รวมทงแฟมตนทางใหมทยงไมได link ขนมาบนจอใหครบทงหมดกอน จากนนจงคอยทาการแกไข เพอทาให Excel ไลแกตาแหนงอางองในสตรทอางถงแฟมทเกยวของใหเอง (ถาไมไดเปดแฟม Excel จะละเลยไมสนใจตามไปแกไขใหแมแตนอย)

4. ถาตองการ Save เพอตงชอแฟมใหมหรอยาย Folder ทเกบแฟม ใหสง Save แฟมตนทางกอนแลวจง Save แฟมปลายทางทหลง (แตถาไมไดแกไขชอแฟมหรอยาย Folder จะ Save แฟมใดกอนกได แตตอง Save ใหครบทกแฟม)

352 

 

Copyright of www.ExcelExpertTraining.com 

การออกแบบโครงสรางตารางคานวณ

แบบ Compound Module

เคยมคากลาววา Excel ไมสามารถนามาใชกบการวางแผนความตองการวสดไดหรอก เราตอง

หนไปซอโปรแกรมสาเรจรปราคาแพงเปนแสนเปนลานบาทมาใชในการวางแผนการผลต ซง

โรงงานผลตสนคาหลายๆแหงอาจคดวาไมแพง เพราะเมอนาราคาโปรแกรมสาเรจรปไปเทยบ

กบมลคาของโรงงานและสนคาทผลตแลวถอวาเปนสดสวนทนอยมาก แลวเมอนาโปรแกรม

สาเรจรปเหลานมาใช กลบพบวาไมสามารถนามาใชกบการวางแผนการผลตไดอยางสมบรณ

เสยอก ครนจะขอใหผขายโปรแกรมสาเรจรปชวยแกไขดดแปลงโปรแกรมใหใหมกถกคด

คาใชจายเปนเงนอกมากมาย ทแยทสดกคอ พอซอโปรแกรมมาใชไดสกพก เจาตวบรษททขาย

โปรแกรมใหกลบปดตวเลกกจการไปแลว เปนเหตใหโปรแกรมสาเรจรปทไดมาถกนามาใชงาน

แคครงๆกลางๆหรอถงกบเลกใชไปเลยกม

คนทเกงคอมพวเตอรไมวาจะเปนโปรแกรมเมอรหรอผทคลกคลอยในแวดวง IT มกเขาใจวา

ปญหาการคานวณยากๆ ตองหาทางเขยนโปรแกรมหรอหาซอโปรแกรมสาเรจรปทถกสราง

ขนมาเพอใชแกปญหายากๆเหลานนโดยเฉพาะ แมแตคนทเกง Excel กตาม มกชอบคดวาตอง

ใชโปรแกรม VBA (Visual Basic for Applications) เปนทางออกสดทายเมอไมสามารถใชสตร

หรอคาสงบนเมนของ Excel ชวยในการแกปญหาทวายากนนได ซงถาวาไปแลวกไมใชการคด

ทไมมเหตผล เพราะปญหาการคานวณยากๆ ยกตวอยางเชนการวางแผนการผลต มสงทตอง

คานงถงหลายอยางทเกยวของกบการวางแผน เชน เงอนไขทเกยวของกบยอดสนคาคงเหลอ

ตนงวดปลายงวด ยอดวตถดบทตองสงซอซงยงสมพนธกบโครงสรางผลตภณฑหรออตรา

สวนผสม หากวตถดบขาดมอกตองสงซอมาสารองไวใหเพยงพอซงเกยวของกบเงอนไขการ

ขายของผขายเขาไปอก และทงหมดนยงตองหาทางกาหนดเวลาทจะตองสงผลตเพอใหได

จานวนสนคาตามตองการ ณ กาหนดเวลาทตองการ .... แคเหนปญหาทเกยวของเหลานกแทบ

ไมอยากจะคดดวยสมองแลวใชไหม หลายตอหลายคนจงพากนตอบวา หนไปซอโปรแกรม

สาเรจรปมาใชกนดกวา

จากประสบการณทผมคลกคลอยกบ Excel มานานกวายสบปพบวา คนทเกง Excel มากๆมก

ขาดความรเรองการวางแผนการผลต สวนคนทเกงในการวางแผนการผลตกมกจะไมเกง Excel

จงทาใหไมมใครทสามารถนาความรทง Excel และการวางแผนการผลตมาใชงานรวมกนเสยท

ทางสมาคมสงเสรมเทคโนโลย (ไทย-ญป น) ไดกรณาใหผมเขาอบรมหลกสตรการวางแผนการ

353 

 

Copyright of www.ExcelExpertTraining.com 

ผลตทสมาคมจดขน ทาใหเกดแนวทางใช Excel โดยออกแบบตารางคานวณแบบ Compound

Module นข นมา จงใครขอใชโอกาสน ขอบคณสมาคมสงเสรมเทคโนโลย (ไทย-ญป น) เปน

อยางยง ซงคงไมเปนการกลาวทเกนไปวา ในโลกนมแตประเทศไทยของเราเทานนทม

เทคโนโลยการออกแบบตารางคานวณแบบ Compound Module หรอหากประเทศอนทาไดก

นาจะเรยนรมาจากเราอกตอหนง

ลกษณะโครงสรางตารางคานวณแบบ Compound Module

โครงสรางตารางคานวณแบบ Compound Module เกดจากแนวความคดทจะใชตาราง Excel

หลายๆเซลลตอกนสาหรบการคานวณทตอเนองกนหลายๆขน พอเซลลหนงคานวณขนหนง

เสรจ กใหสงคาไปคานวณตอในอกเซลลหนง แลวสงคาตอๆกนไปยงเซลลทอยในพนทตาราง

คานวณชดเดยวกน ซงในตารางคานวณชดเดยวกนนอาจตองใชจานวนเซลลตงแต 2 เซลลขน

ไปจนถงนบรอยนบพนเซลลกเปนไดเพอใหไลคานวณตงแตตนจนจบ

แนวความคดดงกลาวนฟงดแลวกไมเหนเปนเรองแปลกใชไหม คณเองกใชตาราง Excel ใน

แบบทกลาวนเปนกนอยแลว เพยงแตวาแทนทจะใชตารางคานวณเพยงชดเดยวเพอคานวณให

ผลลพธทตองการแลวเสรจ เรายงตองหาทางใชตารางคานวณชดถดไป ทมหนาตาตาราง

เหมอนกบตารางคานวณชดแรก เพอใชในการคานวณซาแบบเดยวกบการคานวณในตาราง

คานวณชดแรกซาตอไปอกใหได โดยหาทางสรางสตรในตารางคานวณชดถดไปใหสามารถรบ

คาจากตารางคานวณชดกอน (Simple Compound Module) หรอเลอกรบคาตารางคานวณชด

ใดๆกไดมาใชคานวณซาอก (Dynamic Compound Module)

องคประกอบสาคญทเปนสวนชวยใหเราสามารถสรางตารางคานวณขนเพยงชดเดยว จากนน

สามารถสง Copy แลวนาไป Paste ใหเกดตารางคานวณชดตอไปซงมสตรซากบตารางคานวณ

ชดแรกทกเซลลกคอ ขอใหหลกเลยงการกาหนดตาแหนงอางองใดๆในสตรแบบ Absolute

(เชน $A$1) แตใหใชการกาหนดตาแหนงอางองแบบ Relative (เชน A1) แทน หรอถา

หลกเลยงไมได กขอใหใชตาแหนงอางองแบบ Mixed ในแบบควบคมตาแหนง Column ให

คงท (เชน $A1) โดยใหใชใหนอยทสด เพราะถากาหนดตาแหนงอางอง $A1 ไว จะตอง Paste

ตารางคานวณชดถดไปในแนว Column เดมเสมอ มฉะนนการอางองจะผดเพยนจากตาแหนงท

ตองการ

ผทคนเคยกบการสรางตารางคานวณตองทราบถงประโยชนของการใสเครองหมาย $ เพอชวย

ควบคมตาแหนงอางองในสตรวามความสาคญเพยงใด แมเครองหมาย $ จะชวยใหเราสรางสตร

354 

 

Copyright of www.ExcelExpertTraining.com 

แลว Copy ไปใชทเซลลอนไดทนท แตในโครงสรางตารางคานวณแบบ Compound Module น

เครองหมาย $ กลบเปนสงตองหาม ดงนนแมในระหวางการสราง Module แรกขนมาใชงาน ซง

เราจาเปนตองอาศยเครองหมาย $ แตเมอสรางงานเสรจแลวกตองลบเฉพาะเครองหมาย $ ท

ใชในเซลลทงไป โดยใน Excel 2007 ใชคาสง Home > Find & Select > Replace หรอใน

Excel 2003 ใชคาสง Edit > Replace เพอสงเปลยนเครองหมาย $ ใหหายไป

ตวอยางตารางคานวณ Compound Module อยางงาย

Download ตวอยางไดจาก

www.ExcelExpertTraining.com/extreme/files/database/CompoundModule.xls

ตวอยางนอยในชทชอ SimpleCompound เปนตารางคานวณหาระยะเวลาทใชในการผลต

กาหนดใหผลตสนคา A, B, C, D (ProductName เซลล B4:B7) โดยสนคาแตละชนดตองใช

เวลาในการผลตตางกนไป เชน ในการผลตสนคา A เมอผานขนตอนการผลต 4 ขนตอน (เซลล

C4:F4) ตองใชเวลา 20 นาทในการผลตขนตอนท 1 จากนนตองใชเวลา 10 นาท ตามดวย 30

นาท และตามดวย 20 นาท ในขนตอนท 2, 3, 4 ตามลาดบจงจะแลวเสรจ

ในกระบวนการผลตสนคา A, B, C, และ D น หากกาหนดใหเรมตนผลตในเวลา 8 นาฬกา จะ

ผลตเสรจในเวลาใด ทงนกาหนดใหเลอกผลตสนคา A, D, C, B กอนหลงตามลาดบ (หรอใน

อนาคตอาจจดลาดบการผลตกอนหลงตางไปกได) โดยหาทางใหใชระยะเวลาผลตทนอยทสด

เมอผลตสนคาใดเสรจใหผลตสนคาชนดตอไปไดทนท

ตารางดานขวาทเซลล L4:L6 ของรปขางตนเปนคาตอบทไดจากการคานวณ กลาวคอ เมอเรม

ผลตในเวลา 8 นาฬกา จะผลตสนคาทงหมดเสรจในเวลา 11 นาฬกา ถอเปนระยะเวลาผลต

ทงสน 3 ชวโมง

ปญหาทตองคานงถงในการกาหนดขนตอนการผลตในตวอยางนกคอ เราตองหาทางสราง

ตารางคานวณทสามารถจดลาดบการผลตกอนหลงแบบใดกได อกทงตองหาทางสรางสตรให

355 

 

Copyright of www.ExcelExpertTraining.com 

กาหนดเวลาเรมผลตในแตละขนตอนของสนคาแตละตว ตอเนองกบเวลาผลตเสรจในขนตอน

กอนหนา หรออกนยหนงหามสงผลตสนคาชนดถดไป หากสนคาชนดแรกยงอยในกระบวนการ

ผลตขนตอนนนๆ ดงรปตอไปน

ขอใหพจารณาภาพ Gantt Chart ในลาดบการผลตของ Process 2 จะพบวาเมอสนคา A ผลต

เสรจในเวลา 8:30 นาฬกา แตยงไมสามารถนาสนคา D มาผลตตอใน Process 2 ไดทนท

เพราะในขณะนนสนคา D ยงอยในกระบวนการผลตของ Process 1 อย ตองรอจนถงเวลา 8:40

นาฬกา จงเรมผลตสนคา D ใน Process 2 ตอไปได แลวตอเมอสนคา D ผลตเสรจใน Process

2 กสามารถนาสนคา C และ B มาผลตตอใน Process 2 ไดตอเนองทนท

Compound Module ในตวอยางนคอพนทตารางตงแตเซลล B12:Z15 โดยกาหนดใหใชเซลล

B12 ตรงหวมมซายบนสดสาหรบบนทกชอสนคาทตองการลงไป จากนนเซลล C13:F13 จะดง

ระยะเวลาทใชในการผลต (Time Consumed) จากตาราง Time Consumed Table ดานบน

ของชทลงมาใชงาน โดยใชสตร =VLOOKUP($B12,TimeConsumedTbl,C12+1,0) จากนน

เมอนาเวลาเรมผลต 8:00 ในเซลล C10 มาบวกเพมดวยระยะเวลาทใชในการผลต ทาให

คานวณหา Start Time และ Stop Time ในพนทเซลล C14:F15

356 

 

Copyright of www.ExcelExpertTraining.com 

เซลลสาคญทสดททาให Compound Module สามารถนาไปใชงานตอไปไดในตารางชดอนคอ

เซลล D14 มสตร =MAX(D10,C15) โดยขอใหสงเกตวาตาแหนงเซลล D10 ทกาหนดไวใน

สตร MAX นเปนตาแหนงเซลลทอยเหนอขอบเขตของตาราง Module (B12:Z15) เพอใหใช

ตาแหนงเซลล D10 ซงไมไดกาหนดเครองหมาย $ ไวหรออกนยหนงคอเซลลทอยเหนอพนท

ตาราง Module ขนไปอก 2 เซลล สาหรบนาเวลา Stop Time ของ Module กอนหนามาเทยบ

กบเวลา Stop Time ของ Module ตวเอง (D10 vs C15) วาใหเลอกนาเวลาทมากทสดมาใช

เปนกาหนดการเรมกระบวนการผลตในขนตอนตอไป

หลงจากสราง Module แรกในเซลล B12:Z15 เสรจแลว เมอตองการคานวณหากาหนดการ

ผลตของสนคาในลาดบถดไป กเพยงแค Copy เซลล B12:Z15 ไป Paste ตอกนลงไปแลว

เปลยนชอสนคาทเซลลหวมมซายของแตละ Module ตามชอสนคาทผลตในแตละลาดบ กจะ

พบวา Module ทกชดคานวณรวมกนไดระยะเวลาและกาหนดการผลตแตละขนตอนตาม

ตองการในทนท

โปรดสงเกตวา แตละ Module ถกวางหางกนโดยเวนระยะ 1 row ระหวางกนเสมอ ทงนเพอทา

ใหสตร =MAX(D10,C15) จาก Module แรกเปนสตรดงคาจาก Stop Time ซงเปน row

ลางสดของ Module ดานบนมาใชตอไปนนเอง

357 

 

Copyright of www.ExcelExpertTraining.com 

ตวอยางตารางคานวณ Compound Module

แบบ Dynamic

ตวอยางทผานมาเปนการกาหนดตาแหนงอางองทเชอมคาจาก Module ทวางไวดานบนตดกน

เหมาะกบการคานวณทมขนตอนตอเนองกนไปแบบเสนตรง แตหากการวางแผนการผลตตอง

เกยวของกบโครงสรางผลตภณฑ (Bill of Materials : BOM) ในโครงสรางทซบซอนตามภาพ

ตอไปน กตองหาทางพฒนาโครงสรางตารางคานวณแบบ Dynamic

จากภาพแสดงถงการผลตสนคา A ซงหากผลตเพยง 1 หนวย ( Unit = 1 ) ตองอาศยวสด B

จานวน 2 หนวยและ C จานวน 3 หนวย โดยในการผลตวสด B ตองใชวสด D จานวน 2 หนวย

และวสด E จานวน 2 หนวย สวนวสด C ตองใชวสด E จานวน 2 หนวยและวสด F จานวน 2

หนวย ซงในการผลตวสด F เองกตองอาศยวสด G จานวน 1 หนวยและวสด D จานวน 2 หนวย

สวนคาวา LT ยอมาจากคาวา Lead Time หมายถงชวงเวลานา ซงเปนระยะเวลาทใชในการ

ผลตหรอระยะเวลาทตองรอคอยในการไดมาของสนคา จากภาพแสดงวาสนคา A ตองใช

ระยะเวลาผลต 1 วน (หรอหนวยของระยะเวลาอนๆกได ในตวอยางนขอใชระยะเวลาเปนหนวย

วน) วสด B, C, D, E, F, G ตองใชระยะเวลาผลตหรอระยะเวลารอคอยเทากบ 2 วน, 1 วน, 1

วน, 2 วนและ 3 วน ตามลาดบ (โปรดศกษารายละเอยดเพมเตมจากหนงสอ ระบบการวางแผน

และควบคมการผลต โดยรศ.พภพ ลลตาภรณ สานกพมพของสมาคมสงเสรมเทคโนโลย (ไทย-

ญป น))

ในการออกแบบตารางคานวณเพอวางแผนความตองการวสด (Material Requirements

Planning - MRP) ตองหาทางสรางตารางคานวณทสามารถคานวณตามโครงสรางผลตภณฑท

อาจเปลยนแปลงไปจากเดม เชน เดมสนคา A มวสด B และ C เปนโครงสรางในการผลต หาก

ในภายหลงมวสด G เพมเตม หรอเลกใชวสด B หรอใชวสดอนมาแทนท และหากตวเลขจานวน

358 

 

Copyright of www.ExcelExpertTraining.com 

การใชวสดและ LT เปลยนแปลงไปจากเดม กตองหาทางประยกตใช Excel กบงาน MRP ได

โดยไมจาเปนตองแกไขสตรคานวณใหมแมแตนอย

อนงในแงของโครงสรางผลตภณฑยงมศพทคาวา Parent กบ Child ทตองทาความเขาใจ

เพราะเปนหลกการสาคญทนาไปใชในการสรางตารางคานวณ เชน หากกาหนดใหสนคา A เปน

Parent กจะพบวามวสด B และ C เปน Child แลวหากกาหนดใหวสด B เปน Parent กจะพบวา

มวสด D และ E เปน Child ซงจะเหนวาการพจารณาความสมพนธระหวางการเปน Parent-

Child เปนการพจารณาความสมพนธระหวางการผลตสนคาหรอวสดในลาดบหนงนนเอง

ตวอยางตอไปนมาจากชทชอ DynamicCompound ในแฟมชอ CompoundModule.xls

โครงสรางตารางคานวณแบบ Compound Module คอ พนทตารางตงแตเซลล B6:P7 มเซลล

ทใชรบคาตวแปรใน Column B, C, E, และ F โดยใชเซลล B6 สาหรบบนทกชอ Item ในระดบ

Child และใชเซลล C6 บนทกชอ Parent โดยใชเซลล E6 และ F6 บนทกตวเลขสดสวนการ

ผลตและ Lead Time ตามลาดบ

วธการนา Module ไปใชงาน ใหเรมจาก Copy Module จากเซลล B6:P7 ไป Paste ตอๆกนไป

ใหครบตามจานวนความสมพนธระหวาง Child->Parent ทมอย (B->A, C->A, D->B, E->B,

E->C, F->C, G->F, D->F) จากนนใหบนทกคาใหมลงไปในเซลลรบตวแปรใน Column B, C,

E, และ F ของแตละ Module ใหครบถวนถกตองตามทกาหนดไวในโครงสรางผลตภณฑ จะ

พบวาพนทตารางใน Column H:P จะคานวณจานวนวสดทตองการและกาหนดเวลาทตองเรม

สงผลตเพอใหไดสนคาหรอวสดเสรจตามกาหนดใหทนท

359 

 

Copyright of www.ExcelExpertTraining.com 

หลกการคานวณทใช เกดจากการหาตาแหนงเลขท row สดทายของแตละ Module (Last Row

of Module) ใน Column D ใหไดกอน จากนนจงใชเลขเลขท row สดทายของแตละ Module

สาหรบดงตวเลขการสงผลตจาก Module ของ Parent ไปใชในการสงผลตของ Module ทเปน

Child

เพอทาใหเหนลาดบการคานวณไดชดเจนยงขน ขอใหด Row 14 ซงเปนการสงผลตวสด E

ใหกบวสด C พอคณบนทกชอวสด C ลงไปในเซลล C14 จะพบวาในเซลล D14 คานวณหาเลข

9 มาให ซงเกดจากสตร =MATCH(C14,B$1:B$1001,0)+1 โดยสตร Match จะนาชอ Parent

C ไปเทยบหาตาแหนงจากพนท B1:B1001 พบวาชอ C อยในลาดบท 8 จากนนนาไปบวก 1

ใหกลายเปนเลขท Row 9 ซงเปนตาแหนงเลขท row สดทายของ Module (Last Row of

Module) ทม Child ชอ C

พอไดเลข 9 ในเซลล D14 แลว จากนนจงใชสตรดงตวเลข 150 จากเซลล N9 สงตอมาใชท

เซลล N14 โดยใชสตร =INDIRECT(ADDRESS($D14,COLUMN()))*$E14 โดยในการผลต

วสด C จานวน 1 หนวย ตองอาศยวสด E จานวน 2 หนวย (เซลล E14 = 2) จงตองสงผลต E

จานวน 300 หนวย (=150x2) สวนวสด E นนกวาจะผลตเสรจกตองใชระยะเวลา (LT) 2 วน ทา

ใหตองสงผลตหรอจดหาวสด E ลวงหนาตงแตวนท 5 จงจะพรอมตอการนาไปใชผลตตอใน

วนท 7

สวนของสตร =INDIRECT(ADDRESS($D14,COLUMN())) ในเซลล N14 ชวยดงคามาจาก

เซลลททราบตาแหนง Row และ Column โดยท D14 เปนเลขท Row สวนสตร Column() จะ

หาเลขท Column N ณ ตาแหนงของเซลลสตร จงทาใหเกดสตร Address(9,14) คนคาออกมา

เปนตาแหนงเซลล $N$9 จากนนสตร Indirect(“$N$9”) จงดงคาจากเซลล N9 มาใหในทสด

ตวอยางจากชทชอ DynamicCompound นเปนการคานวณอยางงายเพอแสดงหวใจของการ

เชอมโยงตวเลขการสงผลต ณ กาหนดเวลาทตองการของแตละ Module เขาดวยกน แตในการ

ผลตจรงยงตองคานงถงตวเลขสนคาตนงวดปลายงวดและตวเลขอกมากมายทเปนเงอนไข

เกยวของกบการผลตแตละครง จงขอใหใช Module ทสรางไวในชทชอ MRPModule แทน

360 

 

Copyright of www.ExcelExpertTraining.com 

วธนา Module ไปใชกใชวธ Copy ไป Paste ซาตามโครงสรางผลตภณฑเชนเดยวกน โดย

โครงสรางตารางคานวณทสรางขนแบบสมบรณน Child แตละตว สามารถสงผลตเปนวสดให

Parent ได 3 ตว (เซลล D20:D22) ทาใหไมจาเปนตองเตรยม Module ของ Child ซากนเชน

ตวอยางทผานมา

จากนนเมอนาตวอยางการทา MRP จากหนงสอ ระบบการวางแผนและควบคมการผลต โดยรศ.

พภพ ลลตาภรณ สานกพมพของสมาคมสงเสรมเทคโนโลย (ไทย-ญป น) หนา 136 มาวางแผน

ความตองการวสด จะเกดเปน Compound Module ทคานวณรวมกนตามตวอยางทเปดให

Download ไดจาก www.ExcelExpertTraining.com/extreme/files/database/

CompoundModuleMRP(Ans).xls ซงเปนตวอยางทใชประกอบการอบรมหลกสตรการ

ประยกตใช Excel สาหรบวางแผนความตองการวสดและจดตารางการผลต ทจดอบรมขน ณ

สมาคมสงเสรมเทคโนโลย (ไทย-ญป น)

361 

 

Copyright of www.ExcelExpertTraining.com 

ตวอยางในแฟม CompoundModuleMRP(Ans).xls นอกเหนอจากแสดงการใช Compound

Module แบบซบซอนโดยนาโครงสรางผลตภณฑ 2 โครงสรางมาใชรวมกนแลว ยงแสดงวธการ

สรางตารางฐานขอมลเพอเกบคาตวแปร แลวใชสตรดงคาจากตารางตวแปรไปยงเซลลรบคาใน

Module ใหเองอกดวยเพอชวยอานวยความสะดวกในการกรอกขอมลและลดโอกาสผดพลาด

จากการกรอกขอมลผดชอง จากนนเมอไดผลลพธทคานวณใน Compound Module เสรจ

เรยบรอยกยงแสดงวธใชสตรดงผลลพธไปสรปเพอเปรยบเทยบกบจานวนการผลตทเกดขนจรง

ทอาจแตกตางจากแผนการผลตทวางไว

บทสงทาย

การออกแบบตารางคานวณทนามาอธบายน นาจะเปนการจดประกายความคดใหผใช Excel

สามารถสรางสรรคงานไดหลายหลายรปแบบมากขน ผมเชอวาหลกการหรอแนวความคดทได

ใหไปแลวนยอมเปนสงทสาคญมากกวาตวอยางทมประโยชนจากดแคใชกบการแกไขปญหา

หนงเสรจแลวกแลวกนไป ขอเพยงสามารถนาหลกการหรอแนวความคดไปพฒนาตอ ยอมเปน

แนวทางใหสามารถใช Excel แบบคอมพวเตอร สามารถนา Excel ไปประยกตใชกบงานทหลาย

คนคดวาทาไมไดมากอน หาทางสรางตารางคานวณทสะดวกตอการนามาใชงานซาแลวซาอก

งายตอการแกไข และทสาคญคอเปนหลกการทงายตอความเขาใจ

Copyright

ถาผใดประสงคจะนาขอมลในเวบ XLSiam.com น ไปเผยแพรโดยการพมพแจก หรอทาสาเนา

ผานสอใดๆ เพอใชในการศกษาของตนเอง หรอเพอนาไปแจกผอนเปนวทยาทานโดยไมคด

มลคา และเปนการกระทาทใชการลงทนลงแรงของตนเอง ผนนกรณาพมพไดหรอทาสาเนาได

โดยไมตองขออนญาตแตอยางใด ขอเพยงระบทมาของขอมลเหลานนไวเสมอ

สาหรบขอมลสวนของผซ งรวมใชเวบนในการเขยนบทความ ถอเปนสทธของผเขยนบทความ

หรอผใหคาตอบ ทจะนาขอมลสวนของตนเองไปใชตามทตนตองการ และผนนสามารถเลอกท

จะกาหนดเงอนไขในลขสทธในสวนขอมลของตนเอง ในการยนยอมใหผอ นนาขอมลของตนไป

ใช ใหแตกตางไปจากขอกาหนดในลขสทธของเวบนหรอไมกได หากมไดกาหนดเงอนไขใดๆ

ไว ถอวาใหเปนไปตามขอกาหนดของลขสทธของเวบนทกาหนดไว

หามผอนใดนาขอมลบนเวบ XLSiam.com นไปเผยแพรเพอประโยชนใดๆกตาม ทเกยวของกบ

การมงคาหากาไรทงทางตรงและทางออม หรอมสวนไดเสยหรอหวงผลอน ซงมใชความพง

พอใจจากการใหเพอเปนวทยาทาน

หากทาเพอการจาหนายหรอเกยวของกบการแสวงหาผลประโยชนอนใด ไมวาจะเปนการหา

รายไดหรอชวยลดคาใชจายของตนหรอบรษทของตนทตองรบภาระ เชน นาเนอหาทงหมดหรอ

บางสวนไปรวบรวมเปนเลมเพอขายรวมกบเรองอน หรอนาไปใชเปนเอกสารหรอใชประกอบสอ

ใดๆในการอบรมแทนทจะลงทนจดหาตารามาเอง หรอใชการลงทนลงแรงของผอน ซงไมใช

การลงทนลงแรงของตนเอง ขอสงวนลขสทธขอมลทงหมดในเวบนตามกฎหมาย

สมเกยรต ฟงเกยรต

20 เมษายน 2556