ฟังก์ชัน SCAN

ฟังก์ชันนี้จะสแกนอาร์เรย์และสร้างค่ากลางโดยใช้ฟังก์ชัน LAMBDA กับแต่ละค่า แสดงผลอาร์เรย์ของค่ากลางที่ได้มาจากแต่ละขั้นตอน

ตัวอย่างการใช้งาน

SCAN(5, A1:A3, LAMBDA(accumulator, current_value, accumulator+current_value))

SCAN(2, A1:A3, LAMBDA(accumulator, current_value, accumulator*current_value))

ไวยากรณ์

SCAN(initial_value, array_or_range, LAMBDA)

  • initial_value: ค่า accumulator เริ่มต้น
  • array_or_range: อาร์เรย์หรือช่วงที่จะสแกน
  • LAMBDA: LAMBDA ซึ่งจะนำไปใช้กับแต่ละค่าใน array_or_range เพื่อทำการสแกน
    • รูปแบบคำสั่ง: LAMBDA(name1, name2, formula_expression)
    • ข้อกำหนด:
      • LAMBDA จะต้องมีอาร์กิวเมนต์ที่มีชื่อ 2 รายการ พร้อมด้วย formula_expression ซึ่งใช้ชื่อเดียวกัน โดยระบบจะใช้ name1 เป็นค่าปัจจุบันใน accumulator ส่วน name2 จะแทนค่า current_value ใน array_or_range เมื่อใช้ LAMBDA จากนั้นจะอัปเดต accumulator ในแต่ละขั้นตอนเป็นค่ากลางที่ได้รับจากในขั้นตอนที่ผ่านมา

หมายเหตุ

  • LAMBDA ที่ส่งผ่านควรยอมรับอาร์กิวเมนต์ที่มีชื่อเพียง 2 รายการ มิเช่นนั้นระบบจะแสดงข้อผิดพลาด #N/A อาร์กิวเมนต์เหล่านี้จะสอดคล้องกับ accumulator และ current_value ตามลําดับ ซึ่งมีคำอธิบายดังนี้
    • name1: จะเป็นค่า ใน accumulator
    • name2 จะเป็นค่า current_value ในอาร์เรย์อินพุต
  • accumulator จะเริ่มทำงานด้วยค่า initial_value จากนั้นจะอัปเดตในแต่ละขั้นตอนเป็นค่ากลางที่ได้รับจากในขั้นตอนที่ผ่านมา
  • ระบบจะทำการค้นหา current_value ในอาร์เรย์อินพุตทีละแถว เมื่อใช้ LAMBDA

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

ตัวอย่าง

แสดงผลรวมของอาร์เรย์

ตัวอย่างข้อมูล

 

A

1

4

2

2

3

1

ตัวอย่าง =SCAN(5, A1:A3, LAMBDA(accumulator, current_value, accumulator+current_value)) 


ผลลัพธ์

9

11

12

แสดงผลเปอร์เซ็นต์สะสมของค่าทั้งหมด

ตัวอย่างข้อมูล

 

A

1

4

2

2

3

1

ตัวอย่าง: =SCAN(0, A1:A3, LAMBDA(accumulator, current_value, accumulator + current_value/sum(A1:A3)))

ผลลัพธ์

0.57

0.85

1

แสดงผลรวมทั้งหมดของอาร์เรย์และเริ่มคํานวณใหม่เมื่อตัวเลขเป็น 0 ด้วยฟังก์ชันที่มีชื่อซึ่งจะทํางานแบบ LAMBDA

ทำสำเนา

ตัวอย่างข้อมูล

 

A

1

4

2

2

3

1

4

0

5

3

6

6

ตัวอย่าง =SCAN(0, A1:A6, RUNNING_TOTAL_0)

ฟังก์ชันที่มีชื่อ: RUNNING_TOTAL_0 คือฟังก์ชันที่มีชื่อ ซึ่งจะแสดงผลรวมทั้งหมดของอาร์เรย์และเริ่มคํานวณอีกครั้งเมื่อ current_value เท่ากับ 0

คำนิยามของสูตร: =if(current_value=0, current_value, accumulator+current_value) โดยที่ accumulator และ current_value เป็นตัวยึดตําแหน่งอาร์กิวเมนต์ที่กําหนดไว้สําหรับ RUNNING_TOTAL_0


ผลลัพธ์

4

6

7

0

3

9

ข้อผิดพลาดที่พบบ่อย

LAMBDA ที่ส่งไม่ได้มีอาร์กิวเมนต์ที่มีชื่อจำนวน 2 รายการ

หากฟังก์ชัน LAMBDA ไม่ได้มีอาร์กิวเมนต์ที่มีชื่อ 2 รายการ ระบบจะแสดงข้อผิดพลาดนี้

"จํานวนอาร์กิวเมนต์ที่ไปยัง LAMBDA ไม่ถูกต้อง ต้องการ 3 อาร์กิวเมนต์ แต่ได้รับเพียง 2 อาร์กิวเมนต์"

ตัวอย่าง =SCAN(5, C1:C4, LAMBDA(current_value, current_value+1))

ในตัวอย่างนี้ LAMBDA ได้รับอาร์กิวเมนต์ที่มีชื่อเพียง 1 รายการเท่านั้น เมื่อต้องการเป็นจำนวน 2 รายการ

พารามิเตอร์สุดท้ายของ SCAN ไม่ใช่ LAMBDA

หากพารามิเตอร์สุดท้ายของฟังก์ชัน SCAN ไม่ใช่ฟังก์ชัน LAMBDA ระบบจะแสดงข้อผิดพลาดนี้

“อาร์กิวเมนต์ต้องเป็น LAMBDA”

ตัวอย่าง =SCAN(5, C1:C4, 3)

ในตัวอย่างนี้ ฟังก์ชันสุดท้ายคือ 3 แทนที่จะเป็นฟังก์ชัน LAMBDA

LAMBDA ที่ส่งไปยัง SCAN ไม่ถูกต้อง

หากอาร์กิวเมนต์ที่มีชื่ออย่างน้อย 1 รายการไม่ถูกต้อง ระบบจะแสดงข้อผิดพลาดนี้

“อาร์กิวเมนต์ที่ 1 ของฟังก์ชัน LAMBDA ไม่ใช่ชื่อที่ถูกต้อง”

ตัวอย่าง =SCAN(5, C1:C4, LAMBDA(C1, v, C1+v))

ในตัวอย่างนี้ C1 คือชื่อที่ไม่ถูกต้องเนื่องจากมีความขัดแย้งกับช่วง

ค่ากลางอย่างน้อย 1 ค่าที่ได้จากการใช้ LAMBDA จะไม่ใช่ค่าเดี่ยว

ถ้าการใช้ LAMBDA ในอาร์เรย์อินพุตสร้างค่ากลางที่ไม่ใช่ค่าเดี่ยว ระบบจะแสดงข้อผิดพลาดนี้

“ผลลัพธ์ควรเป็นค่าเดี่ยว ระบบไม่รองรับผลลัพธ์ที่เป็นอาร์เรย์แบบซ้อน”

ตัวอย่าง =SCAN(5, C1:C4, LAMBDA(accumulator, value, {accumulator, value}))

ทุกการใช้งานของ LAMBDA จำเป็นต้องสร้างค่ากลางเป็นค่าเดี่ยวและจะใช้กับอาร์เรย์อื่นไม่ได้

ฟังก์ชันที่เกี่ยวข้อง

  • ฟังก์ชัน LAMBDA: ฟังก์ชันนี้จะช่วยให้คุณสร้างและแสดงผลฟังก์ชันที่กำหนดเองซึ่งมีชุดของชื่อและ formula_expression ที่ใช้ฟังก์ชันเหล่านั้นได้
  • ฟังก์ชัน MAP: ฟังก์ชันนี้จะจับคู่แต่ละค่าในอาร์เรย์ที่ระบุกับค่าใหม่
  • ฟังก์ชัน REDUCE: ฟังก์ชันนี้จะตัดทอนอาร์เรย์เป็นผลลัพธ์แบบรวม
  • ฟังก์ชัน BYROW: ฟังก์ชันนี้จะจัดกลุ่มอาร์เรย์ตามแถว
  • ฟังก์ชัน BYCOL: ฟังก์ชันนี้จะจัดกลุ่มอาร์เรย์ตามคอลัมน์
  • ฟังก์ชัน MAKEARRAY: ฟังก์ชันนี้จะสร้างอาร์เรย์ที่คำนวณของมิติข้อมูลที่ระบุ
  • สร้างและใช้ฟังก์ชันที่มีชื่อ: ฟังก์ชันนี้จะช่วยสร้างและจัดเก็บฟังก์ชันที่กำหนดเองซึ่งคล้ายกับ LAMBDA

หากต้องการความช่วยเหลือเพิ่มเติม

ลองทำตามขั้นตอนต่อไปนี้

true
Visit the Learning Center

Using Google products, like Google Docs, at work or school? Try powerful tips, tutorials, and templates. Learn to work on Office files without installing Office, create dynamic project plans and team calendars, auto-organize your inbox, and more.

ค้นหา
ล้างการค้นหา
ปิดการค้นหา
เมนูหลัก
7060499603932199578
true
ค้นหาศูนย์ช่วยเหลือ
true
true
true
true
true
35
false
false