นับจำนวนคำในสตริงใน Google ชีต


9

ฉันมีสเปรดชีต Google อย่างง่ายพร้อมสตริงข้อความจำนวนหนึ่ง ฉันแค่ต้องการจำนวนคำที่มีอยู่ในแต่ละเซลล์ มีฟังก์ชั่นสเปรดชีตของ Google ที่ฉันสามารถใช้งานได้หรือไม่?

คำตอบ:


9

ใน Google Spreadsheets ฉันจะทำมันต่างออกไปเล็กน้อย

สูตร

=COUNTA(SPLIT(A1, " "))

อธิบาย

SPLITฟังก์ชั่นจะใช้ได้เฉพาะในสเปรดชีตของ Google และจะแบ่งเนื้อหาของเซลล์ในทุกพื้นที่ ( " ") COUNTฟังก์ชั่นก็จะนับกรณี

สูตร Excel ให้คำตอบเดียวกัน แต่ลำบากกว่า:

=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

ภาพหน้าจอ

ป้อนคำอธิบายรูปภาพที่นี่

สังเกต

ดูคำตอบต่อไปนี้เกี่ยวกับสูตรที่ไม่ซ้ำกับสเปรดชีตของ Google:
https://webapps.stackexchange.com/a/44719/29140


1
ส่วนใหญ่ใช้งานได้สำหรับฉัน (ใน Google ชีต) ... ยกเว้นเซลล์ที่ว่างเปล่าส่งคืน 1 .. ดังนั้นฉันจึงเปลี่ยนมันเล็กน้อยเพื่อให้เซลล์ว่างกลับมา 0:=COUNTA(SPLIT(A1, " "))-IF(A1 = "",1,0)
CenterOrbit

เราทำสิ่งที่คล้ายกัน แต่จะไม่ทำงานเมื่อช่องว่างไม่ใช่อักขระช่องว่างปกติ (เช่นแท็บ ฯลฯ ) ดังนั้นฉันชอบที่จะหาวิธีที่ชาญฉลาดเล็กน้อยในการนับคำ
Aldo 'xoen' Giambelluca

สวัสดีอัลโดที่ดีที่สุดคือถามคำถามของคุณที่นี่ในเว็บแอปพลิเคชัน !!!
Jacob Jan Tuinstra

3

การปรับปรุงเล็กน้อยในสูตรในคำตอบอื่น ๆ นี้ดังนั้นในกรณีที่ A1 ว่างเปล่าหรือถ้ามีสตริงว่างมันจะคืนค่าศูนย์

= IF (LEN (A1) = 0,0, COUNTA (SPLIT (A1, ""))

0

หากคุณต้องการทำเช่นนี้ในช่วงเซลล์ (เช่นA1:A25) คุณสามารถใช้สูตรด้านบนซึ่งCHAR(32)เป็นอักขระช่องว่าง" "

=COUNTA(SPLIT(ARRAYFORMULA(CONCATENATE(A1:A25&CHAR(32)));CHAR(32)))

สิ่งนี้ใช้ได้กับเซลล์ว่างยกเว้นเมื่อเซลล์เริ่มต้นว่างเปล่า


0

อื่น ๆ :

=COUNTA(SPLIT(TRIM(A1&" #")," "))-1

สิ่งนี้เพียงแค่เพิ่มช่องว่างและเครื่องหมายปอนด์ต่อท้ายสิ่งที่อยู่ในเซลล์เป้าหมายรวมถึงการเพิ่มลงในค่า nullดังนั้นจึงไม่มีข้อผิดพลาดใด ๆ เกิดขึ้นในการนับ จากนั้นเราก็แค่ลบ "พื้นที่ปลอม" ออกไปในตอนท้าย


0

=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), ))

0

______________________________________________________________

=ARRAYFORMULA(IF(LEN(A3:A), LEN(REGEXREPLACE(A3:A, "[^\s]", ))+1, ))

0

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.