简体   繁体   English

Excel中的索引匹配公式

[英]INDEX MATCH Formula in Excel

I recently took over this spreadsheet from someone who left the company. 我最近从离开公司的某人那里接过了这个电子表格。 Formula in T column: T栏中的公式:

=INDEX(BFTable, MATCH(1, (UPPER(LEFT(ST, 2))=$E$1:$E$315)*
      (ProcessingDate>=$A$1:$A$315)*(ProcessingDate<=$B$1:$B$315)*
      (EffectiveDate>=$C$1:$C$315)*(EffectiveDate<=$D$1:$D$315)*
      ($AI3=$P$1:$P$315)*($F$1:$F$315="HM"),0),COLUMN()-COLUMN($T$2)+1)

Could someone explain to me what this formula is trying to do? 有人可以向我解释这个公式要做什么吗? What is ST? 什么是ST? The output is the same with processing date in A column. 输出与A列中的处理日期相同。 There is no BFTable, although the tab name is BF. 尽管选项卡名称为BF,但没有BFTable。

Thanks, 谢谢,

SC SC

The pieces BFTable and ST are probably named ranges. BFTableST可能是命名范围。

What the formula does is look up in the range BFTable the row associated with the MATCH(...) part and the column given by COLUMN()-COLUMN($T$2)+1 . 该公式的作用是在BFTable范围中BFTableMATCH(...)部分关联的行以及COLUMN()-COLUMN($T$2)+1给出的COLUMN()-COLUMN($T$2)+1

The MATCH section is a long conditional. MATCH部分是很长的条件。 It searches for the first case where all of the following conditions are true and returns the index of that row: 它搜索满足以下所有条件的第一种情况,并返回该行的索引:

UPPER(LEFT(ST, 2))=$E$1:$E$315
ProcessingDate>=$A$1:$A$315
ProcessingDate<=$B$1:$B$315
EffectiveDate>=$C$1:$C$315
EffectiveDate<=$D$1:$D$315
$AI3=$P$1:$P$315
$F$1:$F$315="HM"

If they all return TRUE , then multiplying them together results in 1 , but if any of them returns FALSE , then multiplying them results in 0 , which won't match to 1 (the first argument of the MATCH function). 如果它们都返回TRUE ,则将它们相乘将得到1 ,但是如果它们中的任何一个都将返回FALSE ,则将它们相乘将得到0 ,它将与1不匹配( MATCH函数的第一个参数)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM