Đối với loại vấn đề này, nó giúp suy nghĩ về các mảng.
Nếu bạn có thể lấy một mảng (danh sách) các số trong Giá trị (cột D) trong đó Chữ cái (cột B) bằng "A" và Số đã bị trùng lặp, bạn chỉ cần tổng hợp mảng để có câu trả lời.
Biểu thức này:
(B$2:B$12=F2)
đưa ra một mảng các True/False
giá trị với True
bất cứ nơi nào cột B = "A". Cái này:
(C$2:C$12<>C$3:C$13)
đưa ra một mảng các True/False
giá trị với True
bất cứ nơi nào một ô trong cột C không bằng ô sau. Bởi vì các bản sao của bạn nằm trong các ô liên tiếp (nhận xét bên dưới nếu điều này không phải luôn luôn như vậy), mảng này có False
các lần xuất hiện thêm của một giá trị, và về cơ bản, nó lọc ra các bản sao. Nhân hai mảng này với nhau:
(B$2:B$12=F2)*(C$2:C$12<>C$3:C$13)
chuyển đổi True/False
giá trị thành 1 và 0 và đưa ra một mảng có 1 ở vị trí mà chúng ta muốn tính tổng. Sử dụng mảng này làm logical_test
trong một IF()
và cột D là value_if_true
:
IF((B$2:B$12=F2)*(C$2:C$12<>C$3:C$13)>0,D$2:D$12)
trả về một mảng các Giá trị trong cột D bất cứ nơi nào có số 1, xen kẽ với False
bất cứ nơi nào có số không. Bây giờ chúng ta chỉ có thể tổng hợp các mảng. Công thức này, được điền từ G2 cho kết quả hiển thị bên dưới.
=SUM(IF((B$2:B$12=F2)*(C$2:C$12<>C$3:C$13)>0,D$2:D$12))
Lưu ý rằng đây là một công thức mảng và phải được nhập với CTRLShiftEnter.