【问题标题】:Excel If function Without Empty rowsExcel If 函数没有空行
【发布时间】:2021-10-16 20:14:52
【问题描述】:

我有一张包含客户时间表和交货日期的表格,但我有几张这样的表格。 我想创建一个将所有工作表放在一起的日历,以便我们可以在适当的日期查看日历中的所有内容。 我正在使用此代码。 =IF(CURRENT!H20:H117=E1,CURRENT!B20:B117,"") 问题是,这只适用于一张纸,而且当它打印在日历上时,我有很多空行。 我基本上是在寻找一个更好的主意来解决这个问题或修复上述代码。 它会跳行,因为它获取信息的位置没有相同的日期。

【问题讨论】:

  • 如果您有 Office 365,请查看过滤器
  • 那行不通。如果我过滤日期 10/21,它将过滤从 3 到 18 的所有行
  • 如果我可以建议您简化一下,如果您只有一列名称公司和日期并尝试数据透视表。
  • =FILTER(CURRENT!H20:H117,CURRENT!H20:H117=E1) 会给出不带空格的结果。
  • 您是否考虑过 PowerQuery (Data...NewQuery...)?加入/附加所有工作表中的数据,然后清除空行并执行您需要的任何其他操作。也很快……

标签: excel if-statement excel-formula


【解决方案1】:

惰性方法

您可以创建第二个页面并使用如下数组公式,

=IFERROR(INDEX(B$4:B$12,SMALL(IF(B$4:B$12"",ROW(B$4:B$12)-ROW(B$4)+1),ROWS(D$4 :D4))),"") CTRL+SHIFT+ENTER

Excel - Array Formula to skip empty cells

正确的方法

=IFERROR(INDEX(CURRENT!$B$1:$B$5,SMALL(IF(CURRENT!$A$1:$A$5=Sheet2!A$1,ROW(CURRENT!$A$1:$A$5)- 1),ROW()-ROW($A$2)+1),0),"") CTRL+SHIFT+ENTER

https://docs.google.com/spreadsheets/d/1B_3Gb-6JCzlfp768cpqGJgayRXKGOKOa/edit?usp=sharing&ouid=109066354093040261286&rtpof=true&sd=true

【讨论】:

  • 我认为这会起作用,但我认为我做错了什么。 =ARRAY_CONSTRAIN(ARRAYFORMULA(IFERROR(INDEX(CURRENT!$H$20:$H$200,SMALL(IF(CURRENT!$H$20:$H$200=AAA!A$2,ROW(当前!$H$20:$H$200) -1),ROW()-ROW($A$4)+1),0),"")), 1, 1) 当我输入此代码时,我得到#NAME?
  • 我们实际上使它与这里的代码一起工作。太感谢了。但请再问一个问题。 H 有提货日期。我有交货日期。因此,有时我们会在同一日期取货并交付它们。因此,我们使用此代码获得重复条目。有什么方法可以避免重复吗? =IFERROR(索引(当前!$B$2:$B$200,SMALL(IF(当前!$H$20:$I$200=日历!A$2,行(当前!$H$20:$I$200)-1), ROW()-ROW($A$4)+1),0),"")
  • 我的意思是(客户名称重复)
猜你喜欢
  • 2018-11-15
  • 2016-02-16
  • 1970-01-01
  • 2017-05-25
  • 2022-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多