Làm cách nào để phân tích một số nguyên trong Google Sheets?


16

Tương đương với parseInt()(JS) hoặc intval()(PHP) trong Google Sheets là gì?

Tôi muốn tính tổng của các số trong một hàng trong một ô riêng biệt. Vì vậy, nếu tôi có 3 cups5 cupsliên tiếp, tôi sẽ nhận được 18.


4
Bạn có nghĩa là "3 cốc" và "15 cốc", hoặc tôi đang thiếu một cái gì đó?
jonsca

Câu trả lời:


15

Một cách để thực hiện một cái gì đó như thế này là

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

Kết quả của công thức này cho một số chuỗi ví dụ được đưa ra dưới đây.

nhập mô tả hình ảnh ở đây

Bạn có thể phải sửa đổi điều này cho phù hợp với nhu cầu cá nhân của bạn. Nó sẽ hoạt động khá tốt đối với các chuỗi đơn giản như "3 cốc".

  • SPLIT(..., " ")chia một chuỗi thành các phần tách biệt không gian của nó. Bạn có thể thêm nhiều ký tự vào chuỗi, ví dụ " -/", để phân tách bất cứ khi nào các ký tự đó được tìm thấy.

  • ISNUMBER kiểm tra nếu một chuỗi là một số.

  • FILTER lấy mảng và lọc ra mọi thứ không thỏa mãn hàm thứ hai, nghĩa là nó lấy ra mọi thứ không phải là số.

  • INDEX(...; 1; 1) trả về giá trị trong hàng đầu tiên, cột đầu tiên của mảng (vì vậy chúng tôi chỉ nhận được số đầu tiên được liệt kê, không phải tất cả các số được liệt kê).

  • VALUE có lẽ sẽ không cần thiết, nhưng chỉ cần có biện pháp tốt, nó sẽ chuyển đổi chuỗi cuối cùng thành một giá trị số.


2
Vì vậy, câu trả lời là VALUE...
Iulian Onofrei 10/03/2015

@IulianOnofrei Không, VALUEphát sinh lỗi ("không thể phân tích thành số") trên tất cả các ví dụ đầu vào mà tôi đã đưa ra trong câu trả lời.
6005

1
Xin lỗi, tôi muốn nói đó VALUElà câu trả lời cho câu hỏi đầu tiên của OP và tiêu đề cũng vậy.
Iulian Onofrei 10/03/2015

@IulianOnofrei Tôi không biết JavaScript nhưng đó không phải là cách tôi hiểu câu hỏi của OP.
6005

3

Một lựa chọn khác hoạt động với tế bào chứa cốc hoặc cốc

= ArrayFormula (SUM (INT (TRÁI (B1: B2, TÌM ("", B1: B2))))))


1

Có vẻ là một sử dụng tốt cho regex. Ví dụ:

Ví dụ WA57716

Trong đó công thức trong E2 là:

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

Điều này dải tất cả các số không, nối kết quả với +và trả trước =.

Sao chép / Dán / Dán các giá trị chỉ vào, giả sử, F2 (có thể là E2) sau đó Thay thế =bằng =.

THAM GIA
ĐĂNG KÝ

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.