如何过滤和列出其他工作表中的数据?

时间:2016-02-29 17:08:57

标签: excel excel-formula

我的Excel公式需要一些帮助。我试图根据这些行中的值选择特定的行。

让我们说这些是我的价值观:

╔══════════╦═════════╦══════╗
║   Data   ║  Month  ║ Name ║
╠══════════╬═════════╬══════╣
║ Value 1  ║ january ║ mark ║
║ Value 2  ║ january ║ mark ║
║ Value 3  ║ january ║ rick ║
║ Value 4  ║ january ║ rick ║
║ Value 5  ║ march   ║ mark ║
║ Value 6  ║ march   ║ mark ║
║ Value 7  ║ march   ║ rick ║
║ Value 8  ║ march   ║ rick ║
║ Value 9  ║ august  ║ mark ║
║ Value 10 ║ august  ║ rick ║
╚══════════╩═════════╩══════╝

A1 = 1月的值 A2中的值=标记

我想列出月份为A1且名称为A2的所有行。 这应该是我的结果:

║ Value 1  ║ january ║ mark ║
║ Value 2  ║ january ║ mark ║

我尝试过将INDEX与IF结合使用,但没有成功。我正在寻找VBA解决方案或公式,无论什么是最好的。

1 个答案:

答案 0 :(得分:0)

我假设:

  1. '数据'在Sheet1!A1中,'月'在Sheet1!B1中,'Name'在Sheet1!C1。

  2. 在Sheet2上!A1是要过滤掉的'月'的值,在Sheet2上!A1是要过滤掉的'名称'的值。

  3. 在Sheet1!D1中创建一个新列(在'Name'旁边)并给它一个标题,例如。 '标签'。在第一行中,D1(在'Tag'下)写下公式

    <强> = IF(AND(B2 = Sheet2的$ A $ 1,C2 = Sheet 2中$ A $ 2),MAX($ d $ 1:!D1)+1 “”)

    将上述公式拉(复制)到你桌子的最后一行。

    在Sheet2上,复制表格标题,这次是在B1,C1和D1中(因为A1和A2已经有你的过滤器值)。

    //现在一切都是Sheet2

    在B2中写下面的公式:

    <强> = IFERROR(INDEX(Sheet 1中!A:A,MATCH(ROWS($ B $ 2:B2),工作表Sheet $ d:$ d,0)), “”)

    将此公式粘贴到新过滤器表行中。

    更改Sheet2!A1(月份)和Sheet2!A2(名称)中的值,以测试是否正在过滤正确的行。