Ini adalah beberapa teks yang dikutip dari sini . Saya telah diposting di sini sebagai pria jerami. Jika ada orang yang tahu bagaimana ini berbeda dari rumus di Google Spreadsheets dapat membuat komentar, maka mungkin kita bisa mendapatkan jawaban yang bagus.
Formula
Rumus memungkinkan Anda untuk melakukan perhitungan dalam sel tabel. Setiap rumus MUNGKIN dimulai dengan awalan namespace menentukan sintaks dan semantik yang digunakan dalam rumus. Ketika tidak ada awalan, sintaks dan semantik rumus standar seperti dijelaskan di bawah ini digunakan. Ini diikuti oleh tanda sama dengan dan kemudian rumus itu sendiri. Implementasi MUNGKIN menerima beberapa sintaks rumus, dan mereka MUNGKIN menerima berbagai ekstensi untuk sintaks rumus standar. Namun, semua implementasi yang menerima rumus HARUS menerima sintaks dan semantik rumus standar seperti dijelaskan di sini. Mereka MUNGKIN juga menerima ekstensi untuk itu.
Dokumen yang menerapkan skema ketat MUNGKIN TIDAK menggunakan awalan rumus namespace (karena tidak ada jaminan bahwa sistem penerima lain akan dapat memprosesnya), dan MUNGKIN TIDAK menggunakan ekstensi apa pun untuk semantik dan sintaks yang dijelaskan di bawah ini: Dalam rumus default sintaks, setelah tanda sama dengan awal rumus harus berupa ekspresi. Ekspresi dapat berupa angka, string konstan, rentang bernama, sepasang ekspresi yang dihubungkan oleh operator biner, ekspresi yang diawali oleh operator unary, operator logis, panggilan fungsi, alamat sel, atau ekspresi yang dikelilingi oleh tanda kurung. Panggilan fungsi dan operator logika mungkin memiliki nol atau lebih parameter yang dipisahkan dengan titik koma, dan setiap parameter HARUS berupa ekspresi. Sintaks untuk masing-masing adalah sebagai berikut:
Angka. Angka ditulis dan dibaca dalam format ini menggunakan lokal "C" (menggunakan pemisah desimal "." Dan tidak ada pemisah ribuan), menggunakan setlocale (LC_NUMERIC, "C") atau yang setara. Angka dapat diakhiri dengan%, yang membagi angka itu dengan 100. "%" tidak mengubah arti dari operator lain, jadi 2 + 10% adalah 2.1 (bukan 2.2). Perhatikan bahwa tanda - dan + utama diijinkan sebagai operator yang tidak disorot, dijelaskan di bawah ini. Penulis HARUS menulis angka yang sesuai dengan pola (perhatikan bahwa angka itu harus dimulai dengan angka): [0-9] + (. [0-9] +)? ([EE] [+ -]? [0-9] + )?%? Pembaca HARUS dapat membaca angka-angka ini, serta menerima angka yang dimulai dengan "." Yang memimpin, sehingga mereka harus dapat membaca angka-angka dalam bentuk: ((. [0-9] +) | ([0- 9] + (. [0-9] +)? ([EE] [+ -]? [0-9] +)?))%? String Konstan .. String konstan dikelilingi oleh tanda kutip ganda; untuk menanamkan kutipan ganda, karakter kutipan ganda digunakan dua kali. String disimpan dalam format UTF-8. Perhatikan bahwa karena semua konten disimpan sebagai XML, semua tanda kutip ganda dalam rumus sebenarnya disimpan sebagai "dalam XML. String konstan cocok dengan pola: \" ([^ "] | \" \ ") * \"
Rentang / Bidang yang dinamai. Rentang / bidang yang dinamai mengacu pada nilai yang ditentukan atau set nilai yang terpisah (dalam spreadsheet, biasanya merujuk ke alamat sel atau set alamat). Nama tidak peka terhadap huruf besar-kecil, jadi "a" dan "A" merujuk ke rentang yang sama. Implementasi harus menerima setidaknya rentang bernama yang cocok dengan pola berikut: [A-Za-z] [A-Za-z0-9 _] *
Operator. Operator infiks dan awalan biasa diterima. Ini memiliki asosiatif dan prioritas di bawah ini (dari prioritas terendah ke tertinggi):
Komentar Operator Asosiasi
kiri <, =,>, <=,> =, <> Kurang dari, sama dengan, lebih besar dari,
kurang dari atau sama dengan, lebih besar dari atau sama dengan,
tidak sebanding dengan.
kiri +, -, & Tambahkan, kurangi, penggabungan string. Catat itu
unary (awalan) + dan - memiliki prioritas yang berbeda.
kiri *, / Gandakan, bagi. Divisi tidak terpotong, jadi
1/2 sama dengan 0,5.
right ^ Power (2 ^ 3 adalah 8). Pembaca HARUS juga menerima "**".
none +, - Awali operator unary, mis. -5 atau - [. A1].
Perhatikan bahwa ini memiliki perbedaan diutamakan daripada
tambah dan kurangi.
Precedence dapat diganti dengan menggunakan tanda kurung, jadi "= 2 + 3 * 4" menghitung 14 sementara "= (2 + 3) * 4" menghitung 20. Perhatikan bahwa +, -, *, /, ^ mengonversi string atau nilai biner apa pun mereka menggunakan angka sebelum komputasi; perhatikan bahwa & (rangkaian string) mengubah nilai apa pun menjadi string sebelum menggabungkannya. Operator logis. Operator logis memiliki sintaks yang sama dengan panggilan fungsi; nama mereka case-insensitive, parameter dipisahkan oleh titik koma, dan nama mereka HARUS diikuti oleh tanda kurung. Operator logis adalah:
Parameter operator menghitung Komentar
TRUE () 0 Ini adalah konstanta boolean, meskipun sintaksnya membuatnya tampak seperti fungsi
FALSE () 0 Ini adalah konstanta boolean
BUKAN (ekspresi) 1 Jika ekspresi BENAR () mengembalikan FALSE (), yang lain mengembalikan BENAR ()
AND (e1; e2 [; e] *) 2 atau lebih Jika semua ekspresi TRUE () mengembalikan TRUE (), yang lain mengembalikan FALSE ()
ATAU (e1; e2 [; e] *) 2 atau lebih Jika semua ekspresi FALSE () mengembalikan FALSE (), yang lain mengembalikan TRUE ()
JIKA (kondisi; true_exp; false_exp)
3 Mengevaluasi kondisi. Jika itu benar, kembalikan true_exp, kembalikan false_exp
Implementasi AND (), OR (), dan IF () harus mengalami hubungan pendek, yaitu, mereka harus mengevaluasi dari kiri ke kanan secara bergantian, dan hanya mengevaluasi ekspresi yang harus mereka evaluasi untuk menghitung hasilnya. Suatu implementasi dapat memilih untuk mengevaluasi lebih banyak, tetapi hanya ketika ekspresi tidak memiliki efek samping. Implementasi AND () dan OR () HARUS menerima jumlah parameter sewenang-wenang, tetapi HARUS menerima setidaknya 30 dalam setiap penggunaan. Operasi NOT (), AND (), dan OR (), serta kondisi dalam IF (), dimaksudkan untuk nilai boolean; jika ekspresi jenis lain digunakan, implementasi TIDAK HARUS menganggap 0 sebagai salah dan nilai numerik lainnya benar, dan TIDAK HARUS menganggap string panjang nol sebagai false dan nilai string lainnya sebagai benar. Jika nilai kesalahan dihitung untuk ekspresi, maka kesalahan pertama adalah hasil dari operasi logis.
Panggilan fungsi.Panggilan fungsi memiliki nama fungsi yang cocok dengan pola [A-za-z] [A-Za-z0-9 _] * diikuti oleh tanda kurung pembuka, nol atau lebih parameter, dan tanda kurung penutup. Parameter dipisahkan oleh tanda titik koma (bukan koma), meskipun pembaca MUNGKIN menerima panggilan fungsi menggunakan koma sebagai pemisah juga. Nama fungsi adalah case-insensitive, jadi "sum" dan "SUM" adalah fungsi yang sama. Jika ada parameter, masing-masing harus berupa ekspresi dan tidak ada yang bisa kosong, jadi X (;) bukan panggilan fungsi yang sah sementara RAND () benar-benar legal. Jika suatu parameter bersifat opsional, itu MUNGKIN dihilangkan, tetapi jika dihilangkan pemisahnya HARUS dihilangkan juga (spesifikasi fungsi harus menyatakan parameter mana yang opsional, dan apa artinya menghilangkannya). Implementasi umum akan memiliki banyak fungsi bawaan, dan sebagian besar implementasi juga mendukung satu atau lebih cara untuk membuat fungsi yang ditentukan pengguna. Fungsi umum meliputi:
- SUM ( daftar ) - merangkum semua angka dalam rentang daftar .
- COUNT ( daftar ) - menghitung jumlah angka dalam rentang daftar
- AVERAGE ( daftar ) - Menghitung rata-rata, sama dengan SUM ( daftar ) / COUNT ( daftar )
- MIN ( daftar ) - nilai numerik minimum daftar
- MAX ( daftar ) - nilai maksimum daftar
- ROUND ( n , hitung ) - r bulat n untuk menghitung digit (jika hitung dihilangkan, hitung = 0)
- INT ( n ) - bulatkan n ke integer terdekat.
- ISEVEN ( n ) - mengembalikan TRUE () jika n genap, yang lain mengembalikan FALSE ().
- SUBSTITUTE ( teks ; teks pencarian ; teks baru ; kejadian ) - menggantikan teks baru untuk teks pencarian dalam teks , jumlah kejadian kali (jika kejadian dihilangkan, sepanjang waktu).
Alamat sel yang berisi angka . Alamatnya bisa relatif atau absolut. Alamat relatif terdiri dari huruf kolom dan nomor baris. Awalan huruf baris atau nomor kolom dengan a $
membuat baris atau kolom mutlak.
Spasi putih (spasi, tab, baris baru, dan carriage return) diabaikan dalam sintaks rumus default, kecuali dalam konten konstanta string dan sebagai pemisah untuk beberapa alamat rentang sel dalam daftar alamat rentang sel.
Antarmuka pengguna implementasi MUNGKIN memilih untuk menerima dan menampilkan formula berbeda dari bagaimana mereka dipertukarkan dalam format data ini. Misalnya, mereka MUNGKIN menerima dan menampilkan angka menggunakan format lokal saat ini, mereka MUNGKIN selalu menggunakan lokal tertentu untuk format numerik, mereka MUNGKIN menggunakan koma alih-alih titik koma untuk pemisah parameter, dan mereka MUNGKIN menerima dan menampilkan alamat sel tanpa memerlukan penggunaan kurung kotak. Tetapi antarmuka pengguna implementasi HARUS menerima format default sebagai input juga jika mungkin, misalnya, implementasi HARUS menerima angka yang memenuhi persyaratan lokal "C" (serta lokal saat ini), dan HARUS menerima alamat sel kurung. Juga, implementasi antarmuka pengguna HARUS memperbaiki kemungkinan kesalahan, mungkin dengan dialog. Sebagai contoh,
Berikut ini adalah contoh rumus sederhana:
=sum(A1:A5)
Rumus ini menghitung jumlah nilai semua sel dalam rentang ".A1: .A5". Fungsinya adalah "jumlah". Parameter ditandai oleh "(" di awal dan ")" di akhir. Jika suatu fungsi mengandung lebih dari satu parameter, parameter dipisahkan oleh “;”. Berikut ini adalah variasi dari rumus yang ditunjukkan di atas:
=sum(A1;A2;A3;A4;A5)
Hasil formula ini sama. Komponen yang Anda gunakan dalam rumus tergantung pada aplikasi yang Anda gunakan.