我有一张 Excel 表(销售表),它在几列中使用了 INDEX MATCH 函数。有 2 个特定列(产品和零件编号)使用材料编号列从其他表中提取其他值。材料编号列中填充了存储为“常规”的数字,每个单元格都有一个错误,显示“数字存储为文本”。对于产品列来说,“数字存储为文本”不是问题,但对于零件编号列来说是个问题。当我将列更改为“数字”时,零件编号列会自行修复(所以我知道这不是函数的问题)。
此外,零件编号参考表包含物料编号,并且物料编号值没有显示错误。然而,在产品表中,物料编号确实显示错误。
有人能解释为什么以文本形式存储的数字会影响一列而不影响另一列吗?仅供参考:数据源通过 VBA 导入主表,我无法更改输入文件内容。也许我需要在导入时通过 VBA 更改列文本,但我真的想了解为什么它在一处有问题而在另一处没有问题。
产品配方:
=IF([@Location]="Non-AT","Non AT",INDEX(Table_Material,MATCH([@[Material Number]],Table_Material[Material Number],0),MATCH($T$2,'Material No. to Product'!Print_Titles,0)))
零件编号公式:
=INDEX(Table_ATNo,MATCH([@[Material Number]],Table_ATNo[SAP Material Number],0),2)