Bagaimana cara mengurai integer di Google Sheets?

16

Apa yang setara dengan parseInt()(JS) atau intval()(PHP) di Google Sheets?

Saya ingin menghitung jumlah angka dalam satu baris di sel yang terpisah. Jadi jika saya memiliki 3 cupsdan 5 cupsberturut-turut, saya akan mendapatkannya 18.

FT
sumber
4
Apakah maksud Anda "3 cangkir" dan "15 cangkir", atau apakah saya melewatkan sesuatu?
jonsca

Jawaban:

15

Salah satu cara untuk mengimplementasikan sesuatu seperti ini adalah

=VALUE(INDEX(FILTER(SPLIT(A1, " "), ISNUMBER(SPLIT(A1, " "))); 1; 1))

Hasil rumus ini untuk beberapa contoh string diberikan di bawah ini.

masukkan deskripsi gambar di sini

Anda mungkin harus memodifikasi ini agar sesuai dengan kebutuhan pribadi Anda. Ini harus bekerja dengan baik untuk string semudah "3 cangkir".

  • SPLIT(..., " ")memisahkan string menjadi bagian-bagian yang dipisahkan ruang. Anda dapat menambahkan lebih banyak karakter ke string, misalnya " -/", untuk dipisah setiap kali karakter itu ditemukan.

  • ISNUMBER memeriksa apakah string adalah angka.

  • FILTER mengambil array dan memfilter semua yang tidak memenuhi fungsi kedua, yaitu, mengambil semua yang bukan angka.

  • INDEX(...; 1; 1) mengembalikan nilai di baris pertama, kolom pertama dari array (jadi kami hanya mendapatkan nomor pertama yang terdaftar, tidak semua angka yang terdaftar).

  • VALUE mungkin tidak akan diperlukan, tetapi hanya untuk ukuran yang baik itu mengubah string terakhir menjadi nilai numerik.

6005
sumber
2
Jadi jawabannya adalah VALUE...
Iulian Onofrei
@IulianOnofrei Tidak, VALUEmenimbulkan kesalahan ("tidak dapat diuraikan menjadi angka") pada semua contoh input yang saya berikan dalam jawaban.
6005
1
Maaf, saya bermaksud mengatakan bahwa itu VALUEadalah jawaban untuk pertanyaan pertama OP dan judulnya juga.
Iulian Onofrei
@IulianOnofrei Saya tidak tahu JavaScript tapi bukan itu yang saya mengerti pertanyaan OP.
6005
3

Alternatif lain yang bekerja dengan sel yang berisi cangkir atau cangkir

= ArrayFormula (SUM (INT (LEFT (B1: B2, FIND ("", B1: B2)))))))
Rubén
sumber
1

Tampaknya digunakan dengan baik untuk regex. Sebagai contoh:

Contoh WA57716

di mana rumus dalam E2 adalah:

="="&join("+",ArrayFormula(regexreplace(B2:D2,"\D","")))

Ini menghapus semua non numerik, menggabungkan hasil dengan +dan prepend= .

Salin / Tempel / Tempel nilai hanya itu ke, katakanlah, F2 (bisa jadi E2) lalu Ganti =dengan= .

GABUNG
REGEXREPLACE

kacang
sumber