EXCEL 做索引表问题

我在EXCEL中做了一个索引表,该索引表是从一个大表中提取数据。
该索引表的格式:单元格区域B1:N1为月份,A2:A15为各个指标名称,B2:N15为指标值;在A1设置下拉框,下拉框的内容为设备代码,选择不同的设备代码(设备代码与数据源对应),则索引表就显示该设备的指标。
我在索引表中做VLOOKUP函数,遇到一下问题:
1.如果VLOOKUP函数中的引用单元格区域如果为相对引用,则索引表中的指标值能和数据源对应,而且只对下拉框中的第一个设备有效(它是数据源中的第一个设备);但是如果引用单元格区域为绝对引用,则就只有第一行数据能和数据源对应,其它行数据都为0.

请高人帮助解答,谢谢!
第一点,对于数据源,应该是没有问题的,我真不知道数据源能处什么问题。
第二点,索引表的B2:N15的公式为{=IF(MSF!D13:D110=A2,VLOOKUP($A$1,MSF!C13:V110,9,FALSE),0)},其中MSF表为数据源表,MSF!C13:V110为数据源的设备代码所在区域,MSF!D13:D110=A2为数据源的指标名称所在区域,A1即为索引表选择设备的下拉框单元格,从A2起则为指标名称。用相对应用且选择第一个设备时,索引表的B2:N15的返回结果正确,但是选择其它设备就返回0.

以下是我引用“快易导航”网帮助里的内容,内容较多和详细,具体你可以自己去看。
标题:Excel函数应用
一、什么是函数
Excel中所提的函数其实是一些预定义的公式,它们使用一些称为参数的特定数值按特定的顺序或结构进行计算。用户可以直接用它们对某个区域内的数值进行一系列运算,如分析和处理日期值和时间值、确定贷款的支付额、确定单元格中的数据类型、计算平均值、排序显示和运算文本数据等等。例如,SUM 函数对单元格或单元格区域进行加法运算。
什么是参数?参数可以是数字、文本、形如 TRUE 或 FALSE 的逻辑值、数组、形如 #N/A 的错误值或单元格引用。给定的参数必须能产生有效的值。参数也可以是常量、公式或其它函数。
参数不仅仅是常量、公式或函数,还可以是数组、单元格引用等:
1.数组--用于建立可产生多个结果或可对存放在行和列中的一组参数进行运算的单个公式。在 Microsoft Excel有两类数组:区域数组和常量数组。区域数组是一个矩形的单元格区域,该区域中的单元格共用一个公式;常量数组将一组给定的常量用作某个公式中的参数。
2.单元格引用--用于表示单元格在工作表所处位置的坐标值。例如,显示在第 B 列和第 3 行交叉处的单元格,其引用形式为"B3"。
3.常量--常量是直接键入到单元格或公式中的数字或文本值,或由名称所代表的数字或文本值。例如,日期 10/9/96、数字 210 和文本"Quarterly Earnings"都是常量。公式或由公式得出的数值都不是常量。
函数是否可以是多重的呢?也就是说一个函数是否可以是另一个函数的参数呢?当然可以,这就是嵌套函数的含义。所谓嵌套函数,就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用。例如图1中所示的公式使用了嵌套的 AVERAGE 函数,并将结果与 50 相比较。这个公式的含义是:如果单元格F2到F5的平均值大于50,则求F2到F5的和,否则显示数值0。

二使用函数的步骤
在Excel中如何使用函数呢?
1.单击需要输入函数的单元格,如图4所示,单击单元格C1,出现编辑栏
2.单击编辑栏中"编辑公式"按钮 ,将会在编辑栏下面出现一个"公式选项板",此时"名称"框将变成"函数"按钮,如图3所示。
3.单击"函数"按钮右端的箭头,打开函数列表框,从中选择所需的函数;
4.当选中所需的函数后,Excel 2000将打开"公式选项板"。用户可以在这个选项板中输入函数的参数,当输入完参数后,在"公式选项板"中还将显示函数计算的结果;
5.单击"确定"按钮,即可完成函数的输入;
6.如果列表中没有所需的函数,可以单击"其它函数"选项,打开"粘贴函数"对话框,用户可以从中选择所需的函数,然后单击"确定"按钮返回到"公式选项板"对话框。
在了解了函数的基本知识及使用方法后,请跟随笔者一起寻找Excel提供的各种函数。您可以通过单击插入栏中的"函数"看到所有的函数。

三、函数的种类
Excel函数一共有11类,分别是数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。
1.数据库函数--当需要分析数据清单中的数值是否符合特定条件时,可以使用数据库工作表函数。例如,在一个包含销售信息的数据清单中,可以计算出所有销售数值大于 1,000 且小于 2,500 的行或记录的总数。Microsoft Excel 共有 12 个工作表函数用于对存储在数据清单或数据库中的数据进行分析,这些函数的统一名称为 Dfunctions,也称为 D 函数,每个函数均有三个相同的参数:database、field 和 criteria。这些参数指向数据库函数所使用的工作表区域。其中参数 database 为工作表上包含数据清单的区域。参数 field 为需要汇总的列的标志。参数 criteria 为工作表上包含指定条件的区域。
2.日期与时间函数--通过日期与时间函数,可以在公式中分析和处理日期值和时间值。
3.工程函数--工程工作表函数用于工程分析。这类函数中的大多数可分为三种类型:对复数进行处理的函数、在不同的数字系统(如十进制系统、十六进制系统、八进制系统和二进制系统)间进行数值转换的函数、在不同的度量系统中进行数值转换的函数。
4.财务函数--财务函数可以进行一般的财务计算,如确定贷款的支付额、投资的未来值或净现值,以及债券或息票的价值。财务函数中常见的参数:
未来值 (fv)--在所有付款发生后的投资或贷款的价值。
期间数 (nper)--投资的总支付期间数。
付款 (pmt)--对于一项投资或贷款的定期支付数额。
现值 (pv)--在投资期初的投资或贷款的价值。例如,贷款的现值为所借入的本金数额。
利率 (rate)--投资或贷款的利率或贴现率。
类型 (type)--付款期间内进行支付的间隔,如在月初或月末。
5.信息函数--可以使用信息工作表函数确定存储在单元格中的数据的类型。信息函数包含一组称为 IS 的工作表函数,在单元格满足条件时返回 TRUE。例如,如果单元格包含一个偶数值,ISEVEN 工作表函数返回 TRUE。如果需要确定某个单元格区域中是否存在空白单元格,可以使用 COUNTBLANK 工作表函数对单元格区域中的空白单元格进行计数,或者使用 ISBLANK 工作表函数确定区域中的某个单元格是否为空。
6.逻辑函数--使用逻辑函数可以进行真假值判断,或者进行复合检验。例如,可以使用 IF 函数确定条件为真还是假,并由此返回不同的数值。
7.查询和引用函数--当需要在数据清单或表格中查找特定数值,或者需要查找某一单元格的引用时,可以使用查询和引用工作表函数。例如,如果需要在表格中查找与第一列中的值相匹配的数值,可以使用 VLOOKUP 工作表函数。如果需要确定数据清单中数值的位置,可以使用 MATCH 工作表函数。
8.数学和三角函数--通过数学和三角函数,可以处理简单的计算,例如对数字取整、计算单元格区域中的数值总和或复杂计算。
9.统计函数--统计工作表函数用于对数据区域进行统计分析。例如,统计工作表函数可以提供由一组给定值绘制出的直线的相关信息,如直线的斜率和 y 轴截距,或构成直线的实际点数值。
10.文本函数--通过文本函数,可以在公式中处理文字串。例如,可以改变大小写或确定文字串的长度。可以将日期插入文字串或连接在文字串上。下面的公式为一个示例,借以说明如何使用函数 TODAY 和函数 TEXT 来创建一条信息,该信息包含着当前日期并将日期以"dd-mm-yy"的格式表示。
11.用户自定义函数--如果要在公式或计算中使用特别复杂的计算,而工作表函数又无法满足需要,则需要创建用户自定义函数。这些函数,称为用户自定义函数,可以通过使用 Visual Basic for Applications 来创建。
以上对Excel函数及有关知识做了简要的介绍,在以后的文章中笔者将逐一介绍每一类函数的使用方法及应用技巧。但是由于Excel的函数相当多,因此也可能仅介绍几种比较常用的函数使用方法,其他更多的函数您可以从Excel的在线帮助功能中了解更详细的资讯。
。。。。。。

***还好多,你自己去看***
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-14
楼主,索引表您说得够清楚了。数据的结果不对是从数据源中的返回结果不对。数据源就是结果,为什么数据源您只字不提? 这一点请补充。第二点,索引表的B2:N15的值是怎么取的?如果用vlookup请将写法一同补充说明---------------------------------------------------------------------------------------------------
看了补充后:

1. IF的条件是MSF!D13:D110=A2且数组公式, 决定了IF的值会有97个(D13-->D110). 所以IF的值不是0, 就会是VLOOKUP($A$1,MSF!C13:V110,9,FALSE). 什么时候IF的值会得0? D13:D110不等于A2时.
2. B2:N15的在行上变化是14种,然而IF的结果随行的变动97个, 14个怎么等于97个?
3. B:N 是月份,我没有看到你公式里有月份这个条件。vlookup那个返回列您一直用的是 9 .
4. 对MSF表的区域引用不用绝对引用,是肯定错误的. 第一个设备正确,其他不正确是这个原因。

此外,看到你说的数据源之后,我很奇怪您的设备代码与指标名称是一对一的关系(C13:C110,D13,D110), 一个设备就一个指标?我十分想知道您索引表上A2:A15公式是什么? 如果真的是一对一关系,根本没必要这么麻烦!

总结:
1. 要使用查表的话,被查找的区域一定要绝对引用。
2.vlookup适合要查找的值是随行变动的。象本例,行方向是指标名称变化,在列方向上是月份变化,这种情况vlookup就不适合了,要用其他函数,且以我的经验判断,象本例这种查找根本不需要用到数组。本回答被提问者采纳
相似回答