excel - Excel中有INNER JOIN吗?

标签 excel vba excel-formula inner-join powerquery

我希望根据匹配的列值在 Excel 电子表格中对两个不同的表进行内部联接。这是一个例子:

表A:

TICKER
AAPL
AMZN
FB
MSFT
TWLO

表B:

TICKER      PRICE
AAPL        100
FB          200
TSLA        300
DIS         400

内连接应返回表 B 中的股票代码和价格,而表 A 中也有股票代码:

TICKER    PRICE
AAPL      100
FB        200

我已尝试 VLOOKUPMATCH,但无法模拟 SQL 中存在的 INNER JOIN 函数。希望 StackOverflow 社区能够提供一些帮助:)

最佳答案

为此,您需要两个不同的公式:

要获取您想要的名称:

=IFERROR(INDEX(C:C,AGGREGATE(15,6,ROW($C$2:$C$5)/(ISNUMBER(MATCH($C$2:$C$5,A:A,0))),ROW(1:1))),"")

获取值:

=IF(G2<>"",VLOOKUP(G2,C:D,2,FALSE),"")

enter image description here

<小时/>

这可以通过一个公式来完成:

=IFERROR(INDEX($C:$D,AGGREGATE(15,6,ROW($C$2:$C$5)/(ISNUMBER(MATCH($C$2:$C$5,$A:$A,0))),ROW(1:1)),COLUMN(A:A)),"")

将其放入 G2 并上下复制。

但这会使数组公式的数量加倍,如果数据集很大,将导致计算时间显着减慢。

关于excel - Excel中有INNER JOIN吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51899019/

相关文章:

VBA:将所有工作表文本转换为数字

vba - 将空白/空单元格替换为字符串值

excel - 如何在 Recordset 中使用变量!

python - 为什么 Scipy 的 PERCENTRANK.INC 返回的结果与 Excel 的 PERCENTRANK.INC 不同?

excel-formula - Excel : Matching on multiple Conditions

vba - Excel 查找和替换宏

excel - 如何在两个单元格的值之间换行

excel - 将 Jenkins 报告导出到 Excel

excel - 为什么Excel在VBA代码的公式中添加@?

excel - 突出显示数据验证和条件格式,但具有可选的数据验证字段