簡體   English   中英

檢查excel列值是否彼此相等

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM