Excel VBA - 如果存在两个变量,则cell =此特定值(Not" = IF(AND(" function))

时间:2018-01-03 03:27:09

标签: excel excel-vba excel-formula vba

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

  1. 附有身份证明的基金和
  2. 附有身份证的投资者。
  3. 附上的例子有4个基金和4个投资者。

    投资者可以投资1至4只基金。

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

    如果有名字" Ben&杰瑞基金"和" Ben"如果该投资者名称存在四分之一的条目,但如果投资者不投资该基金,那么它应该是空白的。

    问题:这可能吗?

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

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

    图2是理想的结果。

    Figure 1 and 2

3 个答案:

答案 0 :(得分:1)

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

  1. 对您的数据使用“格式为表格”。这将允许您稍后添加更多数据,它将自行刷新功能。

  2. 创建一个字段,仅使用=MID([Quarter],1,1)

  3. 在字段[季度]中提取季度数字
  4. 创建一个字段以提取年份=RIGHT([Quarter],4)这将允许您将此字段用作未来年份的过滤器

  5. 使用新表创建数据透视表,然后组织数据:

    *筛选([年])

    *行([基金名称],[基金ID])

    *列([Inversor],[Inversor ID])

    *值([季])

  6. 您将看到该季度的数字。如果要查看字母“Q”,可以通过右键单击更改格式,然后选择“数字格式...”。 “自定义”更改为Q0

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

答案 1 :(得分: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

答案 2 :(得分:-1)

数据透视表可以实现您想要的效果吗?