Excel VBA - 如果存在两个变量,则cell =此特定值(不是“= IF(AND(”函数))

问题描述 投票:0回答:3

目前我有一个包含2个变量的数据库:

  1. 附有身份证的基金和
  2. 有ID的投资者也附有它。

附上的例子有4个基金和4个投资者。

投资者可以投资1到4个基金。

我有一个VBA功能,可以将数据转换为“X和Y轴”格式。

如果有“Ben&Jerry Fund”和“Ben”这样的名称,它应该显示该投资者名称的四分之一条目,但如果投资者不投资该基金,则应该是空白。

问题:这可能吗?

由于数据库中有如此多的资金和投资者,因此无法使用=IF(AND(函数。

图1显示了数据引用(在转置之前)。

图2是所需的结果。

excel excel-vba excel-formula vba
3个回答
0
投票

=IFERROR(INDEX($E$3:$E$12,SMALL(IF($C$3:$C$12=L$5,IF($A$3:$A$12=$K7,ROW($A$3:$A$12)-ROW($A$2))),1)),"")

为INDEX构建一个行数并根据2个if语句获取第一个匹配(最小行)...

enter image description here


1
投票

如果目的是要有动态报告。我的意思是,如果你想追加更多年并避免操作过程。遵循这个陡峭的:

  1. 使用“格式为表格”作为数据。这将允许您稍后附加更多数据,它将自动刷新功能。
  2. 创建一个字段,使用=MID([Quarter],1,1)仅在字段[Quarter]中提取季度数字
  3. 创建一个字段来提取年份=RIGHT([Quarter],4),这将允许您将此字段用作未来几年的过滤器
  4. 使用新表创建数据透视表,然后组织数据: *筛选([年]) *行([基金名称],[基金ID]) *列([Inversor],[Inversor ID]) *值([季])
  5. 您将看到该季度的数字。如果要查看字母“Q”,可以通过右键单击更改格式,然后选择“数字格式...”。在“自定义”改为Q0

这是一个Tutorial,关于我几个月前制作的表和数据透视表的格式。我很抱歉用西班牙语,但我使用的是Excel英文版。


-1
投票

数据透视表可以达到你想要的效果吗?

© www.soinside.com 2019 - 2024. All rights reserved.