繁体   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