首页 > 软件 > EXCEL INDE MATCH问题,能否不返回空白值直到匹配

EXCEL INDE MATCH问题,能否不返回空白值直到匹配

软件 2022-12-20

excel函数index+match函数问题

我不知道你那个MATCH函数要查找什么,你在L列中查找I2和K列合并起来的数据?这可能查到吗? 你自己好好把函数拆分一下, 一步一步计算一下看是什么结果?

例如你所在的单元格所示,MATCH要寻找的内容是 I2&K8, I2&K8="原材料本月合计" 那么,这个值在L列中存在吗?如果不存在,能找到吗?

如果是第七行,MATCH要查找的值是:I2&K7 ,就是在L列中查找 "原材料3"这个值,L列中存在吗?

先搞清楚这个再说吧。

另外,MATCH函数返回的是相对位置。

可以好好参照MATCH函数的说明:

MATCH

返回在指定方式下与指定数值匹配的数组(数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)中元素的相应位置。如果需要找出匹配元素的位置而不是匹配元素本身,则应该使用
MATCH 函数而不是 LOOKUP 函数。

语法

MATCH(lookup_value,lookup_array,match_type)

Lookup_value 为需要在数据表中查找的数值。

  • Lookup_value 为需要在 Lookup_array
    中查找的数值。例如,如果要在电话簿中查找某人的电话号码,则应该将姓名作为查找值,但实际上需要的是电话号码。

  • Lookup_value 可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。

  • Lookup_array 可能包含所要查找的数值的连续单元格区域。Lookup_array
    应为数组或数组引用。

    Match_type 为数字 -1、0 或 1。Match_type 指明 Microsoft
    Excel 如何在 lookup_array 中查找 lookup_value。

  • 如果 match_type 为 1,函数 MATCH 查找小于或等于 lookup_value 的最大数值。Lookup_array
    必须按升序排列:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE。

  • 如果 match_type 为 0,函数 MATCH 查找等于 lookup_value 的第一个数值。Lookup_array
    可以按任何顺序排列。

  • 如果 match_type 为 -1,函数 MATCH 查找大于或等于 lookup_value 的最小数值。Lookup_array
    必须按降序排列:TRUE、FALSE、Z-A、...、2、1、0、-1、-2、...,等等。

  • 如果省略 match_type,则假设为 1。

说明

  • 函数 MATCH 返回 lookup_array 中目标值的位置,而不是数值本身。例如,MATCH("b",{"a","b","c"},0) 返回
    2,即“b”在数组 {"a","b","c"} 中的相应位置。

  • 查找文本值时,函数 MATCH 不区分大小写字母。

  • 如果函数 MATCH 查找不成功,则返回错误值 #N/A。

  • 如果 match_type 为 0 且 lookup_value 为文本,可以在 lookup_value 中使用通配符、问号 (?) 和星号
    (*)。问号匹配任意单个字符;星号匹配任意一串字符。如果要查找实际的问号或星号,请在该字符前键入波形符 (~)。

请仔细阅读一下说明。

Excel关于INDEX和MATCH配合取数的问题和Excel表的更新-Excel学习网

借助一些Excel公式,您可以在Excel的两种最广泛使用的表设计之间移动数据...并自动将数据从源文件转换为更有用的形式。

越来越多的企业Excel用户将其报告和分析链接到Excel表。这样,他们可以在几秒钟而不是几小时内更新它们。

用户通常依赖两种类型的表来获取数据:垂直表和水平表。尽管每种表都有其优点,但是当您需要一种格式的数据但使用另一种格式的数据时,使用两种类型的表可能会带来挑战。

但是,使用三个Excel工作表功能将使您可以轻松地在这些表格式之间移动数据。

垂直Excel表垂直Excel表格

如果您拥有Excel 2007或更高版本,并且在一家拥有大量数据的公司中工作,您可能已经看到过类似此类的Excel表。

(我已在此页面上的大多数表格中间隐藏了大多数行和/或列,这使您可以看到表格的所有四个角。)

我将其称为“垂直表”,因为日期当然在垂直的列中。

该表的一般格式是从关系数据库获得的数据的典型格式。它有日期字段,键码和金额字段,每行都有很长的列。

请注意,该表没有代码说明,也没有有关每个代码的其他信息。这是因为如果关系数据库的表又高又瘦,则关系数据库以及Power Pivot for Excel的效率会大大提高。

Excel中关键代码的尺寸表

垂直尺寸查询表

要获取有关代码的其他信息,您必须从维查询表中提取数据,有点像这样。

下表显示了有关每个代码的两种信息。首先,它显示了描述。(当然,对您自己的数据的描述将提供更多信息。)

其次,此表具有一个乘法(“多”)列,通常以两种方式使用。

首先,一些外部数据(例如经济和股市数据)以数千或数百万为单位。因此,如果打算在内部使用此数据,将其转换为报表中的数据始终是一个好主意。在这里,代码C009的源数据总是成千上万,因此在报告中将其乘以1,000会将数据转换成一个。

其次,如果数据包含借方和贷方(借方为正数,贷方为负数),则将每个总帐帐户的值乘以其自然符号通常很有用。也就是说,您将应借记的帐户乘以1,将应贷记的帐户乘以-1。这样做时,每个带有自然符号的帐户都将变为正数,这通常使这些帐户更易于在报表中使用。

当然,从关系文件导出的数据通常包括描述和其他维度数据。但这并不总是一件好事。首先,由于许多描述可以重复很多次,因此您的工作簿变得比原来大得多。

其次,这些数据通常可能是不正确的,包括拼写错误的描述,奇怪的缩写,不寻常的大小写文本以及过时的信息。第三,可能不会包含您需要的某些尺寸数据,例如上面显示的“乘法”列。

因此,即使您从关系数据库下载的数据中获得了有关代码和其他关键项的信息,通常也最好维护自己的维查找表,就像上面的表一样。

水平“灰色单元”表

我的 Kyd作战室仪表板模板使用此水平表。由于行和列的边框为灰色,因此我将其称为灰色单元格表。

水平Excel表格

该表包含与前两个表相同的数据。您可以通过将其左上角和右下角数字与第一个表中的顶部和底部数字进行比较来确认这一点。

与竖直桌子相比,此桌子的设计具有多个优点。首先,设计将上述两个垂直表中的数据合并为一个水平表。因此,通常更容易设置和维护。

其次,如果您需要手动输入数据,或从其他来源复制并粘贴数据,则这种布局通常比关系样式表(如顶部Excel表)更易于管理。

但是,如果您的源数据来自关系样式的CSV文件或数据导入,则更新此表可能需要额外的工作。

您的桌面应该放在哪里?

如果您有 Kyd War Room,我建议您复制Dash_Data_Act.xlsx工作簿,以用于以下讨论。如果您喜欢结果,可以将新版本换成旧版本。

通过这种方法,您的仪表板和其他报表仍可以从灰色单元数据库返回数据,该数据库可以使用链接到Excel Table的公式来获取其 数据。该表每个月都会通过快速复制和粘贴进行更新。

如何设置公式以从Excel表填充灰单元数据库

假设每个月您下载的数据看起来像下面左侧的蓝色表格,并且您想使用此数据填充右侧的灰色表格。更具体地说,假设您要设置2012年12月的数据,如下表所示。

从垂直Excel表更新水平表

步骤如下:

1.在灰色单元格表中插入新列以包含新月的数据。例如,在这里,我插入了列BA来包含2012年12月的数据。

2.将日期单元格从前一列复制到新列,然后根据需要更新日期。例如,在这里,我将单元格AZ2复制到单元格BA2,然后将日期更改为12/1/2012。

3.将新月的数据添加到蓝色源表的底部,该表位于不同的工作表中,但与灰色数据表位于同一工作簿中。通常,您只需要复制数据导入或Excel中打开的CSV文件中的数据,然后粘贴到蓝色表格底部下方的第一行即可。

粘贴数据时,表格应自动展开以包括新数据。如果不是,请选择表中的任何单元格,然后选择“数据工具”,“设计”,“属性”,“调整大小表”,然后在“调整大小表”对话框中为表指定新的底部行。

4.您将使用 SUMIFS函数从表中检索数字数据。如果您不熟悉此功能,则可能需要花费一分钟时间来浏览链接并继续阅读。这样做时,您会发现这是SUMIFS函数的语法:

SUMIFS(总和范围,标准范围,标准...)

sum_range 必需。一个或多个要在行或列中求和的单元格,包括数字,范围名称或包含数字的单元格引用。空白和文本值将被忽略。

条件范围 。评估关联标准的第一个范围。条件范围中的错误值将被忽略。

要求的标准 。以数字,表达式,单元格引用或文本形式的条件,这些条件定义了将在Criteria_range1参数中添加哪些单元格。例如,标准可以表示为99,“> 99”,B4,“ sales”或“ 99”。

... 可选。重复对criterias_range和criterias参数对,总共为127对。

5.在为以下公式显示的单元格中输入公式:

BA4:= SUMIFS(TableAct [Amount],TableAct [Codes],$ B4,TableAct [Date],BA $ 2)

这里...

sum_range是TableAct [Amount]。 TableAct是我命名为蓝色Excel表格的名称,而 Amount是该表格中我将在其中找到所需编号的列的名称。也就是说,我希望SUMIFS函数从表的Amount列返回数据。

·条件范围1是 TableAct [Codes]。这是我决定使用的表格中的第一个条件列。

·条件1是$ B4,其值为C001。也就是说,在此行中,我希望SUMIFS函数仅在TableAct [Codes]中找到“ Code C001”的情况下返回数据。

·条件范围2是 TableAct [Date]。

·条件2为BA $ 2,价值为12/1/2012。也就是说,在本专栏中,我希望SUMIFS函数仅在TableAct [Date]中找到2018/12/1的情况下才返回数据。

5.将该公式复制到上图所示的列中。

当然,如果要更新现有表,则可能只是从相邻列中复制公式列。

如何设置公式以使用维数据填充灰色单元数据库

上一组公式更新了灰单元数据库中的数字。但是我们显然不能使用和公式在此处的灰色单元格表格中填充描述字段。

相反,我们使用 INDEX 和MATCH 函数。

(在这个特定示例中,我们也可以使用 VLOOKUP函数。但是由于INDEX-MATCH比VLOOKUP灵活得多,而且速度通常更快,因此我从未在实际工作中使用VLOOKUP。)

假设您具有上面显示的灰色单元格表,并且想要在单元格C4中输入公式以从左侧的蓝色尺寸表返回正确的描述。为显示的单元格输入以下公式:

C4:= INDEX(TableDim [Desc],MATCH($ B4,TableDim [Code],0))

此处,INDEX函数从上图所示的蓝色TableDim表的Desc列返回数据。MATCH函数指定INDEX函数应返回哪个行索引号。

为了计算正确的行索引号,MATCH在TableDim表的“代码”字段中查找在单元格B4中输入的值(即“ C001”)。由于第三个参数为零,因此不需要对数据进行排序,如果未找到“ C001”,则MATCH将返回#N / A。但事实证明,C001是找到的第一项,因此MATCH返回值1。

因此,INDEX返回在蓝色表的Desc列中找到的第一个描述:“ C001 Act Desc”。

一个类似的公式返回Mult值:

D4:= IF(INDEX(TableDim [Mult],MATCH($ B4,TableDim [Code],0))= 0,“”,

INDEX(TableDim [Mult],MATCH($ B4,TableDim [Code],0) ))

(尽管此公式显示在两行中,但是您当然要在一行中输入它。)

在此公式中,第一个INDEX-MATCH节返回第4行的Mult值。如果该值通常为零,则该公式返回一个空字符串;否则,该公式将返回非零的Mult值。

如何设置公式以从灰色单元格表填充Excel表

我们还可以使用SUMIFS朝另一个方向发展。也就是说,我们可以使用它从灰色单元数据库填充Excel表。

要首次设置蓝色表格,我们首先需要设置“日期”和“代码”列的值。与在C列中设置公式相比,这样做所需的时间更长。

设置日期和代码值...

1.在新工作表中,输入右上方蓝色表格第2行中显示的三个列标题。

2.从灰色单元格表中复制带有29个代码的区域,并将该区域粘贴到蓝色表中的单元格B3中。

3.在单元格A3中输入日期1/1/2009,并将其向下复制到该列中,直到29个Codes为止。

4.因为灰色单元数据库有48个月的数据,每个月有29个代码,所以蓝色表将具有1392(48 x 29)行数据。因此,请在C列中设置一个临时数字列作为参考,该列从1到1392。

为此,请在单元格C3中输入值1,然后按Ctrl + Shift +向下键以选择从C3到电子表格底部的所有单元格。现在选择“主页”,“编辑”,“填充”,“系列”。在“系列”对话框中,将“停止值”指定为1392,然后按OK ...,这将为您提供数字列用作参考。

5.将B列中的29个代码复制并粘贴到最后一个代码下面的第一个单元格中。这应该填充范围B32:B60。

6.在表格中最后一个2009年1月下方的第一个单元格中,输入显示的单元格的公式...

A32:= DATE(YEAR(A3),MONTH(A3)+1,1)

该公式返回2009年2月。将公式向下复制到范围A33:A60 ...,与您刚刚粘贴的代码相邻。

7.复制范围A32:B60,然后将其与您设置的计数器列平行粘贴。这是一种简单的方法:

·按Ctrl + C复制范围后,选择C列中的一个计数器单元格。

·按Ctrl +向下键可“滑动”至该数字列的底部。

·按两次向左箭头键,移至该底行的A列。

·按Ctrl + Shift +向上键将活动单元上方的所有单元格选择为A列中公式的最后一行。

·仅按住Shift键,然后按一次向下箭头键,以便仅选择空白单元格。

·按Ctrl + V粘贴到区域A61:B1394。

8.将日期值和日期公式列更改为日期值。为此,请选择整个日期列。按Ctrl + C复制它们;按Ctrl + Alt + V启动“选择性粘贴”对话框;选择值,然后按确定。

现在,您可以输入从灰细胞数据库返回适当值的公式。在这里,我们为显示的单元格使用INDEX-MATCH-MATCH公式:

A3:= INDEX(例如ActData,MATCH($ B3,例如ActCodes,0),MATCH($ A3,例如ActDates,0))**

该公式从为Kyd War Room仪表板模板设置的数据库中返回数据。该数据库使用范围名称(例如ActCodes,ActCodes和ActDates)指定可以找到数据,代码和日期的区域。

INDEX公式返回由两个MATCH函数指定的eg.ActData范围内的值。第一个MATCH函数返回指定的Code值的行索引号,第二个MATCH函数返回指定的Date值的列索引号。

最后,既然普通表已经完成,您可以将其更改为Excel表。为此,选择表中的任何单元格,然后选择“插入”,“表”,“表”;在“创建表”对话框中,确保选中“ 我的表具有标题”;然后选择确定。

如何检查工作

我第一次设置这些表格和公式时,会“四舍五入”它们。也就是说,我从灰色单元格表开始,用链接到灰色单元格表的公式设置蓝色的Excel表,然后设置第二个带有链接到蓝色Excel表的公式的灰色单元格表。

最后,我建立了一个对帐表,该表对开始和结束的灰色单元格表进行了比较。这样,我确保所有公式都可以双向使用。

index与match的错误匹配应用的解决方案?excel高手进.

=INDEX($C$2:$C$100,MATCH(SUBSTITUTE(J4,"*","星号"),SUBSTITUTE($C$2:$C$10,"*","星号"),0))

现在需要用数组公式的输入方法了,因为加了SUBSTITUTE

当然,【星号】两个字,你可以自便

excel index match问题

不能这样用,如果从区域查找,需要两个match(),一个返回行号,一个返回列号 index(矩形区域,行号,列号)是这个原理

在Excel中match和index函数如何将两个工作表中的数据进行匹配

1、首先启动excel2013,打开一个含有需要核对工作表的工作薄。

2、选择单元格b1,执行插入函数命令,选择match函数。

3、设置lookup_value为a1,第二个参数通过点击选择函数参数为Sheet2!A:A。

4、第三个参数match_type设置为0,点击确定按钮。

4、点击确定按钮,查看结果,这样就出现了具体的数值,有具体数值就说明sheet1中的数值在sheet2中的位置。说明数据存在。

5、接着填充其他单元格,如果出现错误数值,说明sheet1中的数值在sheet2中没有找到,说明数据不存在。

注意事项:

Excel虽然提供了大量的用户界面特性,但它仍然保留了第一款电子制表软件VisiCalc的特性:行、列组成单元格,数据、与数据相关的公式或者对其他单元格的绝对引用保存在单元格中。


标签:excel MicrosoftOffice 信息技术 MicrosoftExcel 办公软件

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18