Tôi đang cố đếm số lần một chuỗi con xuất hiện trong một cột dữ liệu chuỗi trong Excel. Vui lòng xem ví dụ bên dưới.Công thức trong Excel để đếm số lần xuất hiện của các chuỗi trong chuỗi
Cột dữ liệu chuỗi (tweet) trông như thế này:
A
1 An example string with @username in it
2 RT @AwesomeUser says @username is awesome
Cột với "chuỗi con" (Twitter tên màn hình) trông như thế này:
B
1 username
2 AwesomeUser
Tôi muốn sử dụng một công thức đếm số lần chuỗi con từ B1, B2, v.v. xuất hiện trong các chuỗi trong cột A. Ví dụ: công thức tìm kiếm B1 sẽ trả về "2" và tìm kiếm B2 sẽ trả về "1".
Tôi không thể làm điều đó theo cách này:
=COUNTIF(A:A, "username")
vì COUNTIF chỉ trông cho chuỗi, không phải chuỗi con. Công thức này sẽ luôn trả về "0".
Dưới đây là một formula tôi nghĩ có thể làm điều đó:
=SUMPRODUCT((LEN(A:A)-(LEN(SUBSTITUTE(A:A,"username",""))))/LEN("username"))
Thật không may, tôi có 16.000 mục trong cột B và hàng chục ngàn người ở A, vì vậy đếm ký tự sẽ không làm việc ngay cả trên một máy tính công suất cao (Ngoài ra, kết quả trả về bởi hàm này là nghi ngờ).
Tôi nghĩ về việc sử dụng:
=COUNTIF(A:A, "*username*")
nhưng COUNTIF đòi hỏi một chuỗi với các nhà khai thác sao; Tôi cần sử dụng tham chiếu ô do khối lượng dữ liệu.
Câu hỏi của tôi: có ai biết cách tôi có thể sử dụng công thức cho việc này không? Nếu sử dụng COUNTIF, làm cách nào để lấy tham chiếu ô trong phần có điều kiện của câu lệnh (hoặc sử dụng hàm để thay thế chuỗi trong ô được tham chiếu trong phần có điều kiện của câu lệnh COUNTIF)?
Tôi biết rằng tôi có thể phân tích cú pháp dữ liệu, nhưng tôi muốn biết cách thực hiện trong Excel.
Lưu ý rằng Công thức SUMPRODUCT mà bạn trích dẫn thực hiện một điều hơi khác với chức năng COUNTIF của Chris. COUNTIF sẽ chỉ tính mỗi ô một lần nhiều nhất, do đó, mỗi ô là "điểm" 1 hoặc 0. Công thức SUMPRODUCT sẽ đếm 'ALL' hoặc" username "ngay cả khi nó xuất hiện nhiều lần trong bất kỳ ô nào - nếu bạn muốn sử dụng công thức đó, bạn nên hạn chế phạm vi thay vì sử dụng toàn bộ cột –