我正在尝试做一个简单的计算,将一个单元格的内容乘以另一个单元格的内容。我有一个包含52行的表,一个有9000行。我想根据第一个表中的其他两个值,将第一个表中的A值乘以第二个表中的某个值。
第一个表中的三个值分别是N,周和小时。第二个表中的行是第1-53周,列是第1-24小时。我想创建一个公式,说“如果表1中的小时是3,周是2,则将Count乘以表2中第3列和第2行所表示的值。”
我尝试创建一个命名范围,其列标题为“ Hour_1 ... Hour24”,行标题为“ Week_1 ... Week_52”。然后,我尝试使用公式= Count * INDEX(Week_(A2),B2),其中A2是表1中的星期#,B2是表1中的小时#。我遇到的主要问题是excel无法将Week_(A2)识别为一行。您会认为,如果A2 = 3,则系统会将Week_(A2)识别为Week_3,但事实并非如此。有什么建议或想法吗?
答案 0 :(得分:0)
要回答第一个问题,为什么您的 INDEX 公式不起作用,您需要使用以下方法之一:
=INDEX(INDIRECT("Week_"&A2),,B2)
或
=INDEX(INDIRECT("Hour_"&B2),A2)
如果将 WEEK_(A2)放入单个单元格,它将返回错误 #NAME?,这意味着Excel无法识别引用的值,因此您无法使用它在计算中。
如果要引用名为 Week_2 的行,则需要使用 INDIRECT 函数,例如{=INDIRECT("Week_"&(A2))}
,该函数应返回存储在其中的一系列值那排。请注意,这是一个数组公式,因此,如果您要放入一个单元格来测试结果,则需要按Ctrl+Shift+Enter
才能使其生效。它会在单个单元格中返回范围的第一个值,但是如果您在公式栏中突出显示该公式并按 F9 ,您将能够看到它代表的所有值的范围。 / p>
使用 INDEX 时,您可以
1)引用一行,并通过提供列位置在该行中找到一个值,或者
2)引用一列,并通过提供行位置在该列中定位一个值;或
3)引用数据的连续范围,例如表格,您可以通过提供行和列的位置来定位该范围内的值;或
4)指的是不连续的数据范围,例如(A2:A5,B4:B7)
,您可以通过提供区域号(与您的情况无关)来定位一个数据区域。 >
前三点解释了为什么以上两个INDEX公式都能在表2中找到您想要的值,并且还导致以下更简单的解决方案:
=INDEX(Table2,A2,B2+1)
您甚至不需要命名表2中的每一列和每一行,而只需在INDEX公式中引用 Table2 即可获得所需的值,因为您知道列(小时)和行(每周)位置。
我不太确定原始公式中Count
后面是什么值,但是我认为这是您遇到问题的INDEX部分,并且我想您要在< strong> N 列,其中包含您在表2中找到的数字。有关更多说明,请参阅下面的屏幕截图。
如果您有任何疑问,请告诉我。干杯:)