有条件地返回列的值

时间:2018-09-28 12:57:33

标签: google-sheets

我有一张产品名称(行)和月份(列)的表,其值代表每种产品的单位销售额:

Product | First Order Date |Jan-07 | Feb-07 | March-07 |   April-07  |
A       |   April-07       |   -   |  -     |    -     |    123      |
B       |   Jan-07         |  252  |  123   |   545    |    454      |

使用以下公式动态填充第一列:

=ARRAY_CONSTRAIN(ARRAYFORMULA(INDEX($1:$1,,SMALL(IF(T2:FC2<>"-",COLUMN(T2:FC2),""),1))), 1, 1)

为了清理数据结构并促进更好的更新和维护,我想将所有订单数据移出表并创建两个表:

Product | First Order Date |
A       |   April-07       |
B       |   Jan-07         |


Product |Jan-07 | Feb-07 | March-07 |   April-07  |
A       |    -  |  -     |    -     |    123      |
B       |  252  |  123   |   545    |    454      |

但是,我不确定如何修改公式以引用新表并进行查找以搜索产品名称。

1 个答案:

答案 0 :(得分:0)

我不确定使用多表方法真的有用吗,但是您必须处理数据,所以您最清楚。

以下公式返回“首次订购日期”。 您可以按原样将其放在现有的“第一订单日期”列中或新的“第一订单日期”表中。

=INDEX(D$14:G$14,MATCH(TRUE,INDEX(ISNUMBER(D15:G15),0),0))
  • 修改列以覆盖数据的实际日期范围(我认为是T到FC2)
  • 修改行号以反映您的数据。第一个实例是包含列标题的行;第二个实例是产品A的行号。
  • 为产品A编辑完该标签后,您可以将其复制到与产品一样多的行中。

信用:改编自sanrv1f的“ find first numeric value in range”,2009年11月27日