Tôi cần tính tổng các ô cụ thể trong 1 cột (Q) dựa trên việc các cột khác (R, S) có (các) từ nhất định trong ô hay không
Ví dụ trong hình nếu một ô trong R hoặc S chứa từ đồ chơi hoặc màu xanh lá cây, thì nó cần tính tổng dữ liệu đã chỉ định từ cột Q
Tôi đã thử sử dụng các biến thể khác nhau của sumif-filter-regexmatch nhưng tôi vẫn không thể làm cho nó hoạt động với nhiều điều kiện. Nếu có một bộ công thức khác để sử dụng xin vui lòng chỉ cho tôi
Cảm ơn bạn
P. S (Tôi cần tổng từ cột Q chứ không phải số lượng ô)
Câu trả lời hay nhất
Bạn có thể sử dụng công thức truy vấn sau
=QUERY(Q2:S11, "select sum(Q) where R matches '(.*green.*)|(.*toy.*)' OR S matches '(.*green.*)|(.*toy.*)' label sum(Q)''")Giới thiệu về QUERY
Giải pháp liên quan
Google trang tính – Google Spreadsheet. Cú pháp SUM(FILTER( với điều kiện 1 và điều kiện 2)
Bạn không cần sử dụng FILTER(), đây có vẻ là trường hợp hoàn hảo cho SUMIFS()
=sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB")Google-sheets – FILTER có kích thước phạm vi không khớp;
ví dụ cho những người cần sử dụng công thức =sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB") 8 và đấu tranh với phạm vi không phù hợp của =sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB") 8
=FILTER(A1:A, MATCH(A1:A, B1:B, 0))=FILTER(A1:A, COUNTIF(B1:B, A1:A))
=FILTER(A1:A, ISNA(MATCH(A1:A, B1:B, 0)))
=FILTER(A1:A, NOT(COUNTIF(B1:B, A1:A)))
trong trường hợp bạn cần sử dụng công thức =sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB")
8 để trả về đánh giá giữa hai phạm vi và hai phạm vi đó có kích thước khác nhau (như khi chúng được trả về từ truy vấn) và không thể thay đổi để khớp với cùng kích thước và bạn vừa gặp lỗi =FILTER(A1:A, MATCH(A1:A, B1:B, 0))
=FILTER(A1:A, COUNTIF(B1:B, A1:A))
=FILTER(A1:A, ISNA(MATCH(A1:A, B1:B, 0)))
=FILTER(A1:A, NOT(COUNTIF(B1:B, A1:A)))1
để đơn giản, giả sử phạm vi của bạn cho bộ lọc là A1. A10 và B1. B8, bạn có thể sử dụng dấu ngoặc mảng =FILTER(A1:A, MATCH(A1:A, B1:B, 0))
=FILTER(A1:A, COUNTIF(B1:B, A1:A))
=FILTER(A1:A, ISNA(MATCH(A1:A, B1:B, 0)))
=FILTER(A1:A, NOT(COUNTIF(B1:B, A1:A)))2 để nối hai hàng ảo trên phạm vi =FILTER(A1:A, MATCH(A1:A, B1:B, 0))
=FILTER(A1:A, COUNTIF(B1:B, A1:A))
=FILTER(A1:A, ISNA(MATCH(A1:A, B1:B, 0)))
=FILTER(A1:A, NOT(COUNTIF(B1:B, A1:A)))3 để khớp với kích thước =sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB")
0 bằng cách sử dụng =sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB")
1 trong đó số lần lặp lại cần thiết sẽ được tính toán bằng một phép tính đơn giản giữa các phạm vi ban đầu
sau đó với công thức =sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB")
1 này, chúng ta cần thêm +1 dưới dạng hiệu chỉnh/không an toàn (trong trường hợp chênh lệch giữa hai phạm vi ban đầu là 1), vì =sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB")
1 hoạt động với tối thiểu 2 lần lặp lại. vì vậy, theo một nghĩa nào đó, chúng tôi sẽ cần tạo một phạm vi =sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB")
4 (từ =FILTER(A1:A, MATCH(A1:A, B1:B, 0))
=FILTER(A1:A, COUNTIF(B1:B, A1:A))
=FILTER(A1:A, ISNA(MATCH(A1:A, B1:B, 0)))
=FILTER(A1:A, NOT(COUNTIF(B1:B, A1:A)))3) và sau đó, chúng tôi sẽ chỉ cắt bỏ hàng cuối cùng từ một phạm vi để nó sẽ là =sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB")
6 so với =sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB")
0. chúng tôi sẽ sử dụng 2 ký hiệu duy nhất cho =sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB")
1
bước tiếp theo sẽ là bọc =sumifs(H1:H6, I1:I6, "TextA", J1:J6, "TextB")
1 thành =FILTER(A1:A, MATCH(A1:A, B1:B, 0))
=FILTER(A1:A, COUNTIF(B1:B, A1:A))
=FILTER(A1:A, ISNA(MATCH(A1:A, B1:B, 0)))
=FILTER(A1:A, NOT(COUNTIF(B1:B, A1:A)))0 và chia cho ký hiệu duy nhất thứ 2. sau đó, (dựa trên nhu cầu khác) =FILTER(A1:A, MATCH(A1:A, B1:B, 0))
=FILTER(A1:A, COUNTIF(B1:B, A1:A))
=FILTER(A1:A, ISNA(MATCH(A1:A, B1:B, 0)))
=FILTER(A1:A, NOT(COUNTIF(B1:B, A1:A)))0 này cần phải được bọc vào =FILTER(A1:A, MATCH(A1:A, B1:B, 0))
=FILTER(A1:A, COUNTIF(B1:B, A1:A))
=FILTER(A1:A, ISNA(MATCH(A1:A, B1:B, 0)))
=FILTER(A1:A, NOT(COUNTIF(B1:B, A1:A)))2 (vì chúng tôi muốn khớp kích thước cột với kích thước cột) và bước cuối cùng sẽ là bọc nó vào =FILTER(A1:A, MATCH(A1:A, B1:B, 0))
=FILTER(A1:A, COUNTIF(B1:B, A1:A))
=FILTER(A1:A, ISNA(MATCH(A1:A, B1:B, 0)))
=FILTER(A1:A, NOT(COUNTIF(B1:B, A1:A)))3 và =FILTER(A1:A, MATCH(A1:A, B1:B, 0))
=FILTER(A1:A, COUNTIF(B1:B, A1:A))
=FILTER(A1:A, ISNA(MATCH(A1:A, B1:B, 0)))
=FILTER(A1:A, NOT(COUNTIF(B1:B, A1:A)))4 để xuất ra một lần nữa bằng phép toán đơn giản của . đặt lại với nhau nó sẽ trông như thế này