ฟังก์ชัน SCAN ใน Excel

ฟังก์ชัน SCAN ใน Excel เป็นหนึ่งในกลุ่มฟังก์ชัน LAMBDA helper functions ที่ออกแบบมาเพื่อคำนวณผลสะสมของข้อมูลในอาร์เรย์แบบต่อเนื่อง โดยคืนค่าทุกขั้นตอนของการสะสมค่า ไม่ใช่แค่ค่าผลลัพธ์สุดท้ายเหมือนฟังก์ชัน REDUCE

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

ประโยชน์ของฟังก์ชัน SCAN ใน Excel

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

รูปแบบการใช้งาน (Syntax)

SCAN([initial_value], array, lambda(accumulator, value))

อาร์กิวเมนต์ที่ใช้ในฟังก์ชัน SCAN มีดังนี้:

  • initial_value: ค่าที่ใช้เริ่มต้นการสะสม
  • array: อาร์เรย์ข้อมูลที่จะใช้ในการประมวลผล
  • lambda: ฟังก์ชัน LAMBDA ที่กำหนดลอจิกการสะสม
    • accumulator: ค่าผลสะสมในแต่ละขั้น
    • value: ค่าปัจจุบันจากอาร์เรย์

ตัวอย่างการประยุกต์ใช้งานฟังก์ชัน SCAN ใน Excel

ตัวอย่างที่ 1: คำนวณยอดขายสะสมรายวัน

สมมติต้องการหายอดขายสะสมรายวันจากยอดขายแต่ละวัน

วันยอดขาย
จันทร์100
อังคาร200
พุธ150
พฤหัสบดี300
ศุกร์355
เสาร์400
อาทิตย์199

สูตร:

=SCAN(0, B2:B8, LAMBDA(a, b, a + b))
ใช้ฟังก์ชัน SCAN ใน Excel คำนวณยอดขายสะสมรายวัน
  • เริ่มต้น accumulator = 0
  • วันจันทร์: 0 + 100 = 100
  • วันอังคาร: 100 + 200 = 300
  • วันพุธ: 300 + 150 = 450
  • วันพฤหัสบดี 450 + 300 = 750
  • วันศุกร์ 750 + 355 = 1105
  • วันเสาร์ 1105 + 400 = 1505
  • วันอาทิตย์ 1505 + 199 = 1704

ผลลัพธ์: {0; 100; 300; 450, 750, 1105, 1505, 1704}

หายอดขายสะสมรายวัน

ตัวอย่างที่ 2: สะสมความยาวของข้อความ

ต้องการดูว่าความยาวของข้อความสะสมไปเรื่อย ๆ มีผลลัพธ์เป็นอย่างไร

ข้อความ
กิน
ข้าว
แล้ว
นะ
จ๊ะ
เย็น
นี้

สูตร:

=SCAN(0, A2:A8, LAMBDA(a, b, a + LEN(b)))
ใช้ฟังก์ชัน SCAN ใน Excel คำนวณความยาวสะสมของข้อความ
  • เริ่มต้นที่ 0
  • กิน: 0 + 3 = 3
  • ข้าว: 3 + 4 = 7
  • แล้ว: 7 + 4 = 11
  • นะ: 11 + 2 = 13
  • จ๊ะ: 13 + 3 = 16
  • เย็น: 16 + 4 = 20
  • นี้: 20 + 3 = 23

ผลลัพธ์: {0; 3; 7; 11, 13, 16, 20, 23}

ความยาวของข้อความสะสมไปเรื่อย ๆ

ตัวอย่างที่ 3: คำนวณต้นทุนสะสมแบบรายรอบ

สมมติมีต้นทุนสินค้ารายรอบ ต้องการหาต้นทุนสะสมแต่ละรอบ

รอบที่ต้นทุน
150
280
330
460
570
640
790
880
9100
10110

สูตร:

=SCAN(0, B2:B11, LAMBDA(a, b, a + b))
ใช้ฟังก์ชัน SCAN ใน Excel  คำนวณต้นทุนสะสมรายรอบ
  • เริ่มที่ 0
  • รอบ 1: 0 + 50 = 50
  • รอบ 2: 50 + 80 = 130
  • รอบ 3: 130 + 30 = 160
  • รอบ 4: 160 + 60 = 220
  • รอบ 5: 220 + 70 = 290
  • รอบ 6: 290 + 40 = 330
  • รอบ 7: 330 + 90 = 420
  • รอบ 8: 420 + 80 = 500
  • รอบ 9: 500 + 100 = 600
  • รอบ 10: 600 + 110 = 710

ผลลัพธ์: {0; 50; 130; 160, 220, 290, 330, 420, 500, 600, 710}

หาต้นทุนสะสมแต่ละรอบ

ตัวอย่างที่ 4: ใช้ฟังก์ชัน SCAN ใน Excel หาผลรวมแบบมีเงื่อนไข

สมมติต้องการสะสมค่าที่มากกว่า 100 เท่านั้น

ค่า
90
150
200

สูตร:

=SCAN(0, A2:A4, LAMBDA(a, b, IF(b > 100, a + b, a)))
ใช้ฟังก์ชัน SCAN ใน Excel  หาผลรวมแบบมีเงื่อนไข
  • เริ่มที่ 0
  • 90 → ไม่มากกว่า 100 → ผลยังเป็น 0
  • 150 → รวมได้ 0 + 150 = 150
  • 200 → รวมได้ 150 + 200 = 350

ผลลัพธ์: {0; 0; 150; 350}

สะสมค่าที่มากกว่า 100 เท่านั้น

หมายเหตุ

  • ฟังก์ชัน SCAN คืนค่าหลายค่าในรูปแบบอาร์เรย์ ไม่ใช่ค่าเดียว
  • ควรกำหนดค่า initial value ให้เหมาะกับตรรกะที่ใช้
  • เหมาะกับงานที่ต้องการติดตามความเปลี่ยนแปลงระยะสั้นหรือทีละค่า

สรุป

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

ข้อมูลอ้างอิง: SCAN function

แชร์เรื่องนี้