[英]Check excel column values if they are equal to each other
我有這樣的桌子
產品價格貨幣
________ _____ ________
商品1 10 USD
商品2 11 EUR
產品3 12 USD
商品4 13 CNY
產品5 14 EUR
_____
=小計(109)
我在“貨幣”列中使用過濾器,在“價格”列中使用小計(109)公式對價格求和。 因此,如果從過濾器中選擇了美元,它將過濾所有具有美元價格的產品並對其求和。 但是,如果未對貨幣進行過濾,小計(109)仍將對價格求和,這是錯誤的(1美元+ 1歐元不是2)。
我只想在貨幣列中的值彼此相等時才觸發小計(109)公式。 像這樣,在已過濾的行之間計算NOT唯一值,如果等於1,則將小計(109)。
注意:我知道如何通過在單獨的單元格中放置帶有貨幣的下拉列表來使用SUMIF。 但我想使用過濾器來執行此任務。
假設我們有一個自動過濾的表格,例如:
但是如果選擇了一種以上的貨幣,我們希望發出警告而不是SUBTOTAL() 。
我們需要檢測多種貨幣。
首先輸入以下üSER d標准模塊中efined˚F油膏:
Option Explicit
Public Function CountVisibleUnique(rng As Range) As Long
Dim c As Collection, r As Range
Set c = New Collection
On Error Resume Next
For Each r In rng
If r.EntireRow.Hidden = False Then
c.Add r.Text, CStr(r.Text)
End If
Next r
On Error GoTo 0
CountVisibleUnique = c.Count
End Function
然后在單元格B8中 ,替換:
=SUBTOTAL(109,B2:B6)
有:
=IF(countvisibleunique(C2:C6)>1,"multiple currencies",SUBTOTAL(109,B2:B6))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.