将行与其他行相乘并返回总值

问题描述 投票:0回答:1

大家好日子,新年快乐,

我正在制作加密跟踪表,我需要你的帮助。

我有一个数据表,其列引用来自另一个工作表的数据表的值与INDEX公式。我需要实现的是,每列的行需要乘以USD Price列,然后返回每列底部的总值。

我试过另一个INDEX公式,但它总是给我一个错误。是因为我试图索引一个含有INDEX公式的细胞?

这是我的Excel工作表与公式的链接,你会发现我在工作表底部的尝试,但它总是返回#VALUE!错误。

https://1drv.ms/x/s!AocHOUIO1meDklmoEZkC53Zg6Z3S

或者如果您不想点击我的OneDrive链接,这里是截图。

Excel Screenshot

非常感谢你的时间和帮助:)

亚历克斯

excel vba indexing structured-references
1个回答
0
投票

您尝试使用的公式存在一些问题,最重要的是即使正常工作,它也不会为您提供所需的结果。如果您更改公式

=SUM([Yobit]*INDEX(CMC_Prices[Coin.price_usd],MATCH([Coin Symbol],CMC_Prices[Coin.symbol],0)))

=SUM([Yobit])*INDEX(CMC_Prices[Coin.price_usd],MATCH([Coin Symbol],CMC_Prices[Coin.symbol],0))

然后按住CTRL + SHIFT并按ENTER键,你将得到一个结果,但它不是你想要完成的结果的正确结果,因为它会对Yobit列进行求和,并将它乘以第一个返回的值。 INDEX / MATCH,仅为ABY Coin的值。

以下是我最终要做的以获得正确的结果:

首先,您的美元价格列已经在使用该公式将您尝试使用INDEX / MATCH的值拉出来,因此您不需要在公式中使用它,因为它实际上不会根据需要对每行进行INDEX / MATCH它来。

其次,它没有格式化为数字,改变格式似乎没有任何帮助(看到这一点,尝试测试公式= M2 + M3对公式= SUM(M2:M3)看看我是什么意思)。您可以通过简单地将* 1添加到M列中的公式末尾,或者在单元格中键入1,并使用“乘法”操作将特殊粘贴到M列中来解决此问题。

完成后,您可以使用数组公式(这只是一个适用于范围内所有单元格的公式)来实现您想要的效果。在“总计”行中,键入以下公式:

=SUM(IF(CoinsAssets[Yobit]="", 0, CoinsAssets[Yobit]*CoinsAssets[USD Price]))

然后按住CTRL + SHIFT并按ENTER键。你现在应该在公式栏中看到这个:

{=SUM(IF(CoinsAssets[Yobit]="", 0, CoinsAssets[Yobit]*CoinsAssets[USD Price]))}

这将为您提供正确的计算方法。

希望这有用!

© www.soinside.com 2019 - 2024. All rights reserved.