นี่คือข้อความบางตัดตอนมาจากที่นี่ ฉันโพสต์ไว้ที่นี่เป็นคนฟาง หากใครก็ตามที่รู้ว่าสิ่งนี้แตกต่างจากสูตรใน Google Spreadsheets สามารถแสดงความคิดเห็นได้อย่างไรบางทีเราอาจได้คำตอบที่ดี
สูตร
สูตรช่วยให้คุณสามารถทำการคำนวณภายในเซลล์ตาราง ทุกสูตรอาจเริ่มต้นด้วยคำนำหน้าเนมสเปซที่ระบุไวยากรณ์และความหมายที่ใช้ภายในสูตร เมื่อไม่มีคำนำหน้าจะใช้ไวยากรณ์ของสูตรเริ่มต้นและความหมายตามที่อธิบายไว้ด้านล่าง ตามด้วยเครื่องหมายเท่ากับแล้วสูตรเอง การนำไปใช้อาจยอมรับไวยากรณ์หลายสูตรและพวกเขาอาจยอมรับส่วนขยายต่างๆกับไวยากรณ์สูตรเริ่มต้น อย่างไรก็ตามการใช้งานทั้งหมดที่ยอมรับสูตรต้องยอมรับไวยากรณ์ของสูตรเริ่มต้นและความหมายตามที่อธิบายไว้ที่นี่ พวกเขาอาจยอมรับส่วนขยายด้วย
เอกสารที่ใช้ schema ที่เข้มงวดอาจไม่ใช้คำนำหน้าสูตร namespace (เนื่องจากไม่มีการรับประกันว่าระบบการรับอื่น ๆ จะสามารถประมวลผลได้) และอาจไม่ใช้ส่วนขยายใด ๆ กับความหมายและไวยากรณ์ที่อธิบายไว้ด้านล่าง: ในสูตรเริ่มต้น ไวยากรณ์หลังจากเครื่องหมายเท่ากับเริ่มต้นสูตรจะต้องมีการแสดงออก นิพจน์อาจเป็นตัวเลขสตริงคงที่ช่วงที่กำหนดชื่อคู่ของนิพจน์ที่เชื่อมต่อโดยตัวดำเนินการไบนารีนิพจน์ที่ขึ้นต้นด้วยตัวดำเนินการยูนารีตัวดำเนินการเชิงตรรกะตัวดำเนินการเรียกฟังก์ชันที่อยู่เซลล์หรือนิพจน์ที่ล้อมรอบด้วย วงเล็บ การเรียกใช้ฟังก์ชันและตัวดำเนินการเชิงตรรกะอาจมีพารามิเตอร์ที่คั่นด้วยเครื่องหมายอัฒภาคหรือมากกว่าและแต่ละพารามิเตอร์ต้องเป็นนิพจน์ ไวยากรณ์สำหรับแต่ละรายการมีดังนี้:
เบอร์. ตัวเลขถูกเขียนและอ่านในรูปแบบนี้โดยใช้โลแคล "C" (ใช้ตัวคั่นทศนิยม "." และไม่มีตัวคั่นหลักพัน) โดยใช้ setlocale (LC_NUMERIC, "C") หรือเทียบเท่า ตัวเลขสามารถลงท้ายด้วย% ซึ่งหารจำนวนด้วย 100“%” ไม่เปลี่ยนความหมายของตัวดำเนินการอื่นดังนั้น 2 + 10% คือ 2.1 (ไม่ใช่ 2.2) โปรดทราบว่าอนุญาตให้ใช้สัญญาณชั้นนำ - และ + ในฐานะผู้ดำเนินการที่ไม่ได้อธิบายไว้ด้านล่าง นักเขียนต้องเขียนตัวเลขที่ตรงกับรูปแบบ (โปรดทราบว่าต้องเริ่มต้นด้วยตัวเลข): [0-9] + (. [0-9] +)? ([eE] [+ -]? [0-9] + )?%? ผู้อ่านจะต้องสามารถอ่านตัวเลขเหล่านี้ได้เช่นเดียวกับการยอมรับตัวเลขที่ขึ้นต้นด้วยเครื่องหมาย“”” ดังนั้นพวกเขาจะต้องสามารถอ่านตัวเลขในรูปแบบ: ((. [0-9] +) | ([0- 0- 9] + (. [0-9] +)? ([eE] [+ -]? [0-9] +)?))%? Strings คงที่ .. สตริงคงที่ล้อมรอบด้วยเครื่องหมายคำพูดคู่; เพื่อฝังเครื่องหมายคำพูดคู่ อักขระเครื่องหมายคำพูดคู่ถูกใช้สองครั้ง สตริงจะถูกจัดเก็บในรูปแบบ UTF-8 โปรดทราบว่าเนื่องจากเนื้อหาทั้งหมดจะถูกเก็บไว้เป็น XML เครื่องหมายคำพูดคู่ในสูตรทั้งหมดจึงถูกจัดเก็บเป็น "ใน XML สตริงคงที่ตรงกับรูปแบบ: \" ([^ "] | \" \ ") * \"
ช่วง / ฟิลด์ที่มีชื่อ ช่วง / ฟิลด์ที่มีชื่อหมายถึงค่าที่กำหนดแยกต่างหากหรือชุดของค่า (ในสเปรดชีตโดยทั่วไปหมายถึงที่อยู่เซลล์หรือชุดของที่อยู่) ชื่อจะไม่ตรงตามตัวพิมพ์ใหญ่ - เล็กดังนั้น“ a” และ“ A” หมายถึงช่วงเดียวกัน การใช้งานจะต้องยอมรับช่วงที่ตั้งชื่ออย่างน้อยซึ่งตรงกับรูปแบบต่อไปนี้: [A-Za-z] [A-Za-z0-9 _] *
ผู้ประกอบการ ยอมรับตัวดำเนินการมัดปกติและคำนำหน้า สิ่งเหล่านี้มีการเชื่อมโยงและลำดับความสำคัญดังต่อไปนี้ (จากลำดับความสำคัญต่ำสุดถึงลำดับความสำคัญสูงสุด):
ผู้ประกอบการเชื่อมโยง (s) ความคิดเห็น
left <, =,>, <=,> =, <> น้อยกว่า, เท่ากับ, มากกว่า,
น้อยกว่าหรือเท่ากับ, มากกว่าหรือเท่ากับ,
ไม่เท่ากับ
left +, -, & เพิ่ม, ลบ, การต่อสตริง สังเกตได้ว่า
unary (คำนำหน้า) + และ - มีลำดับความสำคัญต่างกัน
left *, / ทวีคูณ, หาร หารไม่ตัดดังนั้น
1/2 เท่ากับ 0.5
ขวา ^ พลังงาน (2 ^ 3 คือ 8) ผู้อ่านควรยอมรับ“ **” ด้วย
none +, - คำนำหน้าตัวดำเนินการ unary เช่น -5 หรือ - [. A1]
โปรดทราบว่าสิ่งเหล่านี้มีความสำคัญมากกว่า
เพิ่มและลบ
ลำดับความสำคัญสามารถแทนที่ได้โดยใช้วงเล็บดังนั้น“ = 2 + 3 * 4” คำนวณ 14 ในขณะที่“ = (2 + 3) * 4” คำนวณ 20. โปรดทราบว่า +, -, *, /, ^ แปลงสตริงหรือค่าไบนารีใด ๆ พวกมันใช้เป็นตัวเลขก่อนคำนวณ โปรดทราบว่า & (การต่อสตริง) แปลงค่าใด ๆ ให้เป็นสตริงก่อนทำการต่อข้อมูล ตัวดำเนินการเชิงตรรกะมีไวยากรณ์เหมือนกับการเรียกใช้ฟังก์ชัน ชื่อของพวกเขาเป็นตัวพิมพ์เล็กและตัวใหญ่พารามิเตอร์คั่นด้วยเครื่องหมายอัฒภาคและชื่อของพวกเขาจะต้องตามด้วยวงเล็บ ตัวดำเนินการเชิงตรรกะคือ:
พารามิเตอร์ผู้ประกอบการนับความคิดเห็น
TRUE () 0 นี่คือค่าคงที่บูลีนแม้ว่าไวยากรณ์ของมันจะทำให้มันดูเหมือนฟังก์ชัน
FALSE () 0 นี่คือค่าคงที่บูลีน
ไม่ใช่ (นิพจน์) 1 ถ้านิพจน์เป็น TRUE () ส่งคืน FALSE () จะส่งกลับ TRUE ()
AND (e1; e2 [; e] *) 2 หรือมากกว่าถ้านิพจน์ทั้งหมดเป็น TRUE () ส่งคืน TRUE () มิฉะนั้นจะส่งกลับ FALSE ()
OR (e1; e2 [; e] *) 2 หรือมากกว่าหากการแสดงออกทั้งหมดเป็น FALSE () ผลตอบแทน FALSE () ผลตอบแทนอื่น TRUE ()
IF (เงื่อนไข; true_exp; false_exp)
3 ประเมินสภาพ หากเป็นจริงให้ส่งคืน true_exp และส่งคืน false_exp
การนำไปใช้ของ AND (), OR () และ IF () ต้องลัดวงจรนั่นคือพวกเขาต้องประเมินจากซ้ายไปขวาในทางกลับกันและประเมินเฉพาะนิพจน์ที่พวกเขาต้องประเมินเพื่อคำนวณผลลัพธ์ การนำไปใช้อาจเลือกที่จะประเมินเพิ่มเติม แต่เฉพาะเมื่อนิพจน์ไม่มีผลข้างเคียง การใช้งานของ AND () และ OR () ควรยอมรับพารามิเตอร์ตามอำเภอใจ แต่ต้องยอมรับอย่างน้อย 30 ในการใช้งานแต่ละครั้ง การดำเนินการ NOT (), AND () และ OR () รวมถึงเงื่อนไขใน IF () นั้นมีไว้สำหรับค่าบูลีน หากใช้นิพจน์ประเภทอื่นการใช้งานไม่ควรพิจารณา 0 เป็นเท็จและค่าตัวเลขอื่น ๆ เป็นจริงและไม่ควรพิจารณาสตริงที่มีความยาวเป็นศูนย์เป็นเท็จและค่าสตริงอื่น ๆ เป็นจริง หากค่าข้อผิดพลาดถูกคำนวณสำหรับนิพจน์แสดงว่าข้อผิดพลาดแรกนั้นเป็นผลของการดำเนินการทางตรรกะ
ฟังก์ชั่นการโทรการเรียกใช้ฟังก์ชันมีชื่อฟังก์ชันที่ตรงกับรูปแบบ [A-za-z] [A-Za-z0-9 _] * ตามด้วยวงเล็บเปิดพารามิเตอร์ศูนย์หรือมากกว่าและวงเล็บปิด พารามิเตอร์ถูกคั่นด้วยเครื่องหมายอัฒภาค (ไม่ใช่เครื่องหมายจุลภาค) แม้ว่าผู้อ่านอาจยอมรับการเรียกใช้ฟังก์ชันโดยใช้เครื่องหมายจุลภาคเป็นตัวคั่นก็ได้เช่นกัน ชื่อฟังก์ชั่นไม่ตรงตามตัวพิมพ์ใหญ่ - เล็กดังนั้น“ ผลรวม” และ“ SUM” จึงเป็นฟังก์ชันเดียวกัน หากมีพารามิเตอร์แต่ละตัวจะต้องเป็นนิพจน์และไม่สามารถว่างได้ดังนั้น X (;) ไม่ใช่การเรียกใช้ฟังก์ชันทางกฎหมายในขณะที่ RAND () ถูกกฎหมายอย่างสมบูรณ์ หากพารามิเตอร์เป็นทางเลือกพารามิเตอร์นั้นอาจถูกละเว้น แต่ถ้าเว้นไว้ตัวคั่นต้องถูกละเว้นด้วย (ข้อมูลจำเพาะของฟังก์ชันควรระบุว่าพารามิเตอร์ใดเป็นตัวเลือกและสิ่งที่ละเว้น) การใช้งานทั่วไปจะมีฟังก์ชั่นในตัวมากมาย และการใช้งานส่วนใหญ่ยังสนับสนุนหนึ่งหรือหลายวิธีในการสร้างฟังก์ชั่นที่ผู้ใช้กำหนด ฟังก์ชั่นทั่วไป ได้แก่ :
- SUM ( รายการ ) - ผลรวมถึงตัวเลขทั้งหมดในช่วง (s) ของรายการ
- COUNT ( รายการ ) - นับจำนวนตัวเลขในช่วงของรายการ
- AVERAGE ( รายการ ) - คำนวณค่าเฉลี่ยเท่ากับ SUM ( รายการ ) / COUNT ( รายการ )
- MIN ( รายการ ) - ค่าตัวเลขขั้นต่ำของรายการ
- MAX ( รายการ ) - ค่าสูงสุดของรายการ
- ROUND ( n , นับ ) - ปัดnเพื่อนับตัวเลข (หากนับการเว้นไว้, count = 0)
- INT ( n ) - ปัด n ลงไปเป็นจำนวนเต็มที่ใกล้เคียงที่สุด
- ISEVEN ( n ) - ส่งคืน TRUE () ถ้าnเป็นเลขคู่จะส่งกลับค่า FALSE ()
- ทดแทน ( ข้อความ ; SearchText ; newtext ; เกิด ) - ทดแทนnewtextสำหรับSearchTextในข้อความ , การเกิดขึ้นจำนวนครั้ง (ถ้าเกิดมองข้ามทุกครั้ง)
ที่อยู่ของเซลล์ที่มีตัวเลข ที่อยู่สามารถสัมพันธ์หรือสัมบูรณ์ ที่อยู่สัมพัทธ์ประกอบด้วยตัวอักษรคอลัมน์และหมายเลขแถว คำนำหน้าตัวอักษรแถวหรือหมายเลขคอลัมน์ด้วยการ$
ทำให้แถวหรือคอลัมน์สัมบูรณ์
ช่องว่าง (ช่องว่างแท็บบรรทัดใหม่และการขึ้นบรรทัดใหม่) จะถูกละเว้นในไวยากรณ์สูตรเริ่มต้นยกเว้นในเนื้อหาของค่าคงที่สตริงและเป็นตัวคั่นสำหรับที่อยู่ช่วงเซลล์หลายช่วงในรายการที่อยู่ช่วงเซลล์
อินเทอร์เฟซผู้ใช้ของการใช้งานอาจเลือกที่จะยอมรับและแสดงสูตรที่แตกต่างจากวิธีการแลกเปลี่ยนในรูปแบบข้อมูลนี้ ตัวอย่างเช่นพวกเขาอาจยอมรับและแสดงตัวเลขโดยใช้รูปแบบของสถานที่ปัจจุบันพวกเขาอาจใช้สถานที่เฉพาะสำหรับรูปแบบตัวเลขพวกเขาอาจใช้เครื่องหมายจุลภาคแทนเครื่องหมายอัฒภาคสำหรับคั่นพารามิเตอร์และพวกเขาอาจยอมรับและแสดงที่อยู่เซลล์โดยไม่ต้อง การใช้วงเล็บเหลี่ยม แต่อินเทอร์เฟซผู้ใช้ในการนำไปใช้งาน SHOULD ยอมรับรูปแบบเริ่มต้นเช่นเดียวกับที่เป็นไปได้เช่นการใช้งาน SHOULD ยอมรับตัวเลขที่ตรงตามข้อกำหนดของสถานที่“ C” (เช่นเดียวกับสถานที่ปัจจุบัน) และ SHOULD นอกจากนี้การใช้งานอินเทอร์เฟซผู้ใช้ควรแก้ไขข้อผิดพลาดที่อาจเกิดขึ้นกับการสนทนา ตัวอย่างเช่น,
ต่อไปนี้เป็นตัวอย่างของสูตรง่าย ๆ :
=sum(A1:A5)
สูตรนี้คำนวณผลรวมของค่าของเซลล์ทั้งหมดในช่วง“ .A1: .A5” ฟังก์ชั่นคือ“ ผลรวม” พารามิเตอร์ถูกทำเครื่องหมายด้วย“ (“ ตอนเริ่มต้นและ“)” ในตอนท้าย หากฟังก์ชั่นมีมากกว่าหนึ่งพารามิเตอร์พารามิเตอร์จะถูกคั่นด้วย“;” ต่อไปนี้เป็นรูปแบบของสูตรที่แสดงด้านบน:
=sum(A1;A2;A3;A4;A5)
ผลลัพธ์ของสูตรนี้เหมือนกัน ส่วนประกอบที่คุณใช้ในสูตรขึ้นอยู่กับแอปพลิเคชันที่คุณใช้