วิธีสร้างฟังก์ชันที่ผู้ใช้กำหนดเองใน Microsoft Excel

ผู้เขียน: Alice Brown
วันที่สร้าง: 4 พฤษภาคม 2021
วันที่อัปเดต: 15 พฤษภาคม 2024
Anonim
รู้จัก LAMBDA ฟังก์ชันที่เอาไว้สร้างฟังก์ชัน ใน Excel 365
วิดีโอ: รู้จัก LAMBDA ฟังก์ชันที่เอาไว้สร้างฟังก์ชัน ใน Excel 365

เนื้อหา

แม้ว่า Excel จะมีฟังก์ชันในตัวมากมาย แต่อาจมีหลายร้อยฟังก์ชันเช่น SUM, VLOOKUP, LEFT และอื่น ๆ เมื่อคุณเริ่มใช้ Excel สำหรับงานที่ซับซ้อนมากขึ้นคุณมักจะพบว่าคุณต้องการฟังก์ชันที่ไม่มีอยู่ ไม่ต้องกังวลทั้งหมดจะไม่หายไป สิ่งที่คุณต้องมีคือสร้างฟังก์ชันที่ต้องการ

ขั้นตอน

  1. สร้างเวิร์กบุ๊กใหม่หรือเปิดเวิร์กบุ๊กที่คุณต้องการใช้ User Defined Function (FDU) ที่สร้างขึ้นใหม่

  2. เปิด Visual Basic Editor ซึ่งสร้างไว้ใน Microsoft Excel โดยไปที่ Tools-> Macro-> Visual Basic Editor (หรือโดยการกด Alt + F11)

  3. เพิ่มโมดูลใหม่ ไปยังสมุดงานของคุณโดยคลิกที่ปุ่มที่ระบุ คุณสามารถสร้างฟังก์ชันที่ผู้ใช้กำหนดเองบนแผ่นงานได้เองโดยไม่ต้องเพิ่มโมดูลใหม่ แต่จะทำให้คุณไม่สามารถใช้ฟังก์ชันนี้บนแผ่นงานอื่นในสมุดงานเดียวกันได้

  4. สร้าง "ส่วนหัว" หรือ "ต้นแบบ" ของฟังก์ชันของคุณ คุณต้องมีโครงสร้างดังต่อไปนี้: ฟังก์ชันสาธารณะ TheNameOfYourFunction (param1 As type1, param2 As type2) เป็น returnType สามารถมีพารามิเตอร์ได้มากเท่าที่ต้องการและประเภทของพารามิเตอร์อาจเป็นชนิดข้อมูลพื้นฐานหรือประเภทวัตถุ Excel เช่น Range คุณสามารถคิดว่าพารามิเตอร์เป็น "ตัวถูกดำเนินการ" ที่ฟังก์ชันของคุณจะทำงาน ตัวอย่างเช่นเมื่อคุณพูดว่า SIN (45) เพื่อคำนวณไซน์ 45 องศา 45 จะถูกนำมาเป็นพารามิเตอร์ จากนั้นโค้ดฟังก์ชันของคุณจะใช้ค่านี้เพื่อทำการคำนวณและนำเสนอผลลัพธ์
  5. เพิ่มรหัสฟังก์ชันตรวจสอบให้แน่ใจว่า: 1) ใช้ค่าที่กำหนดโดยพารามิเตอร์ 2) กำหนดผลลัพธ์ให้กับชื่อฟังก์ชัน และ 3) ปิดฟังก์ชันด้วย "end function" การเรียนรู้วิธีการเขียนโปรแกรมใน VBA หรือภาษาอื่น ๆ อาจใช้เวลาสักครู่และต้องมีการสอนโดยละเอียด อย่างไรก็ตามฟังก์ชันมักมีบล็อกโค้ดขนาดเล็กและใช้ทรัพยากรภาษาน้อย องค์ประกอบที่มีประโยชน์ที่สุดของภาษา VBA ได้แก่ :
    1. บล็อก ถ้าซึ่งช่วยให้คุณสามารถเรียกใช้โค้ดบางส่วนได้ก็ต่อเมื่อตรงตามเงื่อนไขเท่านั้น ตัวอย่างเช่น:


      ฟังก์ชันสาธารณะ CourseResult (ตารางเป็นจำนวนเต็ม) เป็นสตริง
      ถ้าเกรด> = 5 แล้ว
      CourseResult = "อนุมัติ"
      อื่น
      CourseResult = "ถูกปฏิเสธ"
      สิ้นสุดถ้า
      สิ้นสุดฟังก์ชัน

      สังเกตองค์ประกอบในบล็อกโค้ด ถ้า: IF เงื่อนไขแล้วรหัส ELSE รหัส END IF คำหลัก อื่น ร่วมกับส่วนที่สองของรหัสเป็นทางเลือก
    2. บล็อก ของซึ่งรันโค้ดส่วนหนึ่ง ในขณะที่ (while) หรือ จนถึง (จนกว่า) จะตรงตามเงื่อนไข ตัวอย่างเช่น:

      ฟังก์ชันสาธารณะ IsPrime (ค่าเป็นจำนวนเต็ม) เป็นบูลีน
      Dim i As Integer
      ผม = 2
      IsPrime = จริง
      ของ
      ถ้า value / i = Int (value / i) แล้ว
      IsPrime = เท็จ
      สิ้นสุดถ้า
      ฉัน = ฉัน + 1
      วนซ้ำในขณะที่ i <value และ IsPrime = True
      สิ้นสุดฟังก์ชัน

      ดูองค์ประกอบอีกครั้ง: รหัส DO LOOP ในขณะที่ / จนกว่าเงื่อนไข นอกจากนี้โปรดสังเกตบรรทัดที่สองซึ่งมีการ "ประกาศตัวแปร" คุณสามารถเพิ่มตัวแปรลงในโค้ดของคุณเพื่อให้สามารถใช้งานได้ในภายหลัง ตัวแปรทำหน้าที่เป็นค่าชั่วคราวภายในโค้ด สุดท้ายดูการประกาศฟังก์ชันเป็น BOOLEAN ซึ่งเป็นชนิดข้อมูลที่อนุญาตเฉพาะค่า TRUE และ FALSE วิธีนี้ในการพิจารณาว่าตัวเลขเป็นจำนวนเฉพาะนั้นไม่เหมาะหรือไม่ แต่ฉันชอบปล่อยให้เป็นแบบนั้นเพื่อให้อ่านโค้ดได้ง่ายขึ้น
    3. บล็อก สำหรับซึ่งดำเนินการชิ้นส่วนของรหัสตามจำนวนครั้งที่กำหนด ตัวอย่างเช่น:

      Public Function Factorial (value As Integer) As Long
      ผลสลัวเป็นเวลานาน
      Dim i As Integer
      ถ้า value = 0 แล้ว
      ผลลัพธ์ = 1
      ElseIf value = 1 แล้ว
      ผลลัพธ์ = 1
      อื่น
      ผลลัพธ์ = 1
      สำหรับ i = 1 ถึงค่า
      ผลลัพธ์ = ผลลัพธ์ * i
      ต่อไป
      สิ้นสุดถ้า
      Factorial = ผลลัพธ์
      สิ้นสุดฟังก์ชัน

      ดูองค์ประกอบอีกครั้ง:สำหรับตัวแปร = ขีด จำกัด ล่างถึงโค้ดขีด จำกัด บนถัดไป สังเกตองค์ประกอบด้วย อื่น ๆ เพิ่มในคำสั่ง ถ้าซึ่งช่วยให้คุณสามารถเพิ่มตัวเลือกเพิ่มเติมสำหรับการเรียกใช้โค้ด สุดท้ายดูที่การประกาศฟังก์ชันและตัวแปร "ผลลัพธ์" เป็น ยาว. ชนิดข้อมูล ยาว อนุญาตให้มีค่าที่สูงกว่า "จำนวนเต็ม" มาก

      ด้านล่างนี้คือรหัสสำหรับฟังก์ชันที่แปลงตัวเลขเป็นคำ
  6. กลับไปที่สมุดงานของคุณ และใช้ฟังก์ชันโดยเริ่มต้นเนื้อหาของเซลล์ด้วยไฟล์ เท่ากัน ตามด้วยชื่อบทบาทของคุณ เพิ่มวงเล็บเปิดในชื่อฟังก์ชันพารามิเตอร์ที่คั่นด้วย ลูกน้ำ และวงเล็บปิดสุดท้าย ตัวอย่างเช่น:= NumberToLetters (A4) คุณยังสามารถใช้สูตรที่ผู้ใช้กำหนดเองได้โดยค้นหาในหมวดหมู่ ผู้ใช้กำหนด ในตัวช่วยสร้างเพื่อป้อนสูตร เพียงแค่คลิกที่ปุ่ม Fx อยู่ทางด้านซ้ายของแถบสูตรพารามิเตอร์สามารถมีได้สามประเภท:
    1. ค่าคงที่ป้อนลงในสูตรของเซลล์โดยตรง สตริงต้องอยู่ในเครื่องหมายคำพูดในกรณีนี้
    2. การอ้างอิงเซลล์เช่น B6 หรือช่วงเวลาเช่น A1: C3 (พารามิเตอร์ต้องเป็นประเภท หยุดพัก"")
    3. ฟังก์ชันอื่น ๆ ที่จัดอยู่ในฟังก์ชันของคุณ (ฟังก์ชันของคุณสามารถจัดกลุ่มไว้ในฟังก์ชันอื่น ๆ ได้เช่นกัน) นั่นคือ: = Factorial (MAX (D6: D8))
  7. ตรวจสอบว่าผลลัพธ์เป็นอย่างไร หลังจากใช้ฟังก์ชันหลายครั้งตรวจสอบให้แน่ใจว่าจัดการค่าพารามิเตอร์ต่างๆได้อย่างถูกต้อง:

เคล็ดลับ

  • เมื่อใดก็ตามที่คุณเขียนบล็อกโค้ดภายในโครงสร้างการควบคุมเช่น If, For, Do เป็นต้นอย่าลืมเยื้องบล็อกโดยใช้ช่องว่างหรือแท็บบางส่วน (สไตล์การเยื้องขึ้นอยู่กับคุณ)ด้วยวิธีนี้โค้ดของคุณจะเข้าใจได้ง่ายขึ้นและจะตรวจพบข้อผิดพลาดและปรับปรุงโค้ดได้ง่ายขึ้นมาก
  • Excel มีฟังก์ชันในตัวมากมายและการคำนวณส่วนใหญ่สามารถทำได้โดยใช้เพียงอย่างเดียวหรือใช้ร่วมกัน ค้นหารายการฟังก์ชันที่มีก่อนเริ่มโค้ดของคุณเอง การดำเนินการสามารถทำได้เร็วขึ้นหากคุณใช้ฟังก์ชันในตัว
  • บางครั้งฟังก์ชันอาจไม่ต้องการพารามิเตอร์ทั้งหมดในการคำนวณผลลัพธ์ ในกรณีนี้คุณสามารถใช้คำหลัก ไม่จำเป็น ก่อนชื่อพารามิเตอร์ในส่วนหัวของฟังก์ชัน คุณสามารถใช้ไฟล์ IsMissing (ชื่อพารามิเตอร์) ภายในโค้ดเพื่อพิจารณาว่ามีการกำหนดค่าให้กับพารามิเตอร์หรือไม่
  • หากคุณไม่ทราบวิธีเขียนโค้ดสำหรับฟังก์ชันให้อ่านวิธีการเขียนมาโครอย่างง่ายใน Microsoft Excel
  • ใช้ชื่อที่ยังไม่ได้กำหนดเป็นชื่อฟังก์ชันใน Excel มิฉะนั้นคุณจะสามารถใช้ฟังก์ชันได้เพียงฟังก์ชันเดียว

คำเตือน

  • เนื่องจากมาตรการรักษาความปลอดภัยบางคนอาจปิดการใช้งานมาโคร แจ้งให้เพื่อนร่วมงานทราบว่าหนังสือที่คุณกำลังส่งมีมาโครและเชื่อถือได้เนื่องจากจะไม่ทำให้คอมพิวเตอร์ของคุณเสียหาย
  • ฟังก์ชันที่ใช้ในบทความนี้ไม่ใช่วิธีที่ดีที่สุดในการแก้ปัญหาที่กล่าวถึง ใช้เพื่ออธิบายการใช้โครงสร้างการควบคุมภาษาเท่านั้น
  • VBA เช่นเดียวกับภาษาอื่น ๆ มีโครงสร้างการควบคุมอื่น ๆ นอกเหนือจาก Do, If และ For สิ่งเหล่านี้อธิบายไว้ที่นี่เพื่อชี้แจงสิ่งที่สามารถทำได้ภายในซอร์สโค้ดของฟังก์ชัน มีบทเรียนออนไลน์มากมายที่คุณสามารถเรียนรู้ VBA ได้

ส่วนอื่น ๆ ในขณะที่การสื่อสารมีความสำคัญต่อกีฬาทุกประเภทโดยเฉพาะอย่างยิ่งในวอลเลย์บอล การขาดการสื่อสารที่เหมาะสมอาจขัดขวางความสามารถในการประสบความสำเร็จของทีม ไม่ว่าประสบการณ์ของคุณจะอยู่ในระดับใดการเ...

ส่วนอื่น ๆ เมื่อเศรษฐกิจตกต่ำมีคนตกงานมากขึ้นและต้องใช้เวลานานขึ้นในการหางานใหม่ ต่อไปนี้เป็นแนวคิดที่จะช่วยคุณรับมือหากคุณยังมองไม่เห็นแสงสว่างที่ปลายอุโมงค์ ประเมินสถานการณ์ทางการเงินของคุณ นั่งลงแล...

แนะนำโดยเรา