Tôi có một bảng tính Google đơn giản với một số chuỗi văn bản. Tôi chỉ muốn số lượng từ có trong mỗi ô. Có chức năng bảng tính Google được xây dựng nào tôi có thể sử dụng không?
Tôi có một bảng tính Google đơn giản với một số chuỗi văn bản. Tôi chỉ muốn số lượng từ có trong mỗi ô. Có chức năng bảng tính Google được xây dựng nào tôi có thể sử dụng không?
Câu trả lời:
Trong Bảng tính Google, tôi sẽ làm điều đó một chút khác biệt.
=COUNTA(SPLIT(A1, " "))
Các SPLIT
chức năng chỉ có sẵn trong Google Spreadsheet và sẽ chia nội dung của tế bào trên mọi không gian ( " "
). Các COUNT
chức năng sẽ chỉ đơn giản là đếm các trường hợp.
Công thức Excel cho cùng một câu trả lời, nhưng tốn công hơn một chút:
=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1
Xem câu trả lời sau về công thức nào là duy nhất cho Bảng tính Google:
https://webapps.stackexchange.com/a/44719/29140
Cải thiện nhẹ cho công thức trong câu trả lời khác này để trong trường hợp A1 trống hoặc nếu nó có một chuỗi trống, nó sẽ trả về 0.
= IF (LEN (A1) = 0,0, COUNTA (SPLIT (A1, ""))
Nếu bạn muốn làm điều này trên một phạm vi ô (tức là A1:A25
), bạn có thể sử dụng công thức ở trên, CHAR(32)
ký tự khoảng trắng ở đâu" "
=COUNTA(SPLIT(ARRAYFORMULA(CONCATENATE(A1:A25&CHAR(32)));CHAR(32)))
Điều này hoạt động với các ô trống, trừ khi ô ban đầu trống.
Khác:
=COUNTA(SPLIT(TRIM(A1&" #")," "))-1
Điều này chỉ gắn một dấu cách và dấu thăng vào cuối của bất cứ thứ gì trong ô mục tiêu, bao gồm cả việc thêm nó vào một giá trị rỗng , do đó, không bao giờ có bất kỳ lỗi nào xảy ra. Sau đó, chúng tôi chỉ trừ đi "không gian giả" tạm thời ở cuối.
=ARRAYFORMULA(IF(LEN(A3:A),
MMULT(IF(IFERROR(SPLIT(IF(LEN(A3:A), A3:A, ), " "))<>"", 1, 0),
ROW(INDIRECT("A1:A"&COUNTA(IFERROR(
QUERY(IF(IFERROR(SPLIT(IF(LEN(A3:A), A3:A, ), " "))<>"", 1, 0), "limit 1", 0)))))^0), ))
=ARRAYFORMULA(IF(LEN(A3:A), LEN(REGEXREPLACE(A3:A, "[^\s]", ))+1, ))
=COUNTA(SPLIT(A1, " "))-IF(A1 = "",1,0)