0

TLDR: 如果您有这样构造的公式,则会出现未知错误:

IFNA(Link1;Link2)

但是,下面的示例工作基本上是一样的,

A1: Link1 
A2: IFNA(A1;Link2)

编辑:当 IFNA 函数包含两个 LINK 函数时 URLTEXT 中的公式可能是罪魁祸首。

任何想法为什么会这样?

你好,

我正在尝试在单元格 C1 上建立动态链接。从搜索字符串中,它通过列 A 查找单元格 A1 上的搜索字符串。我添加了一个 IFNA 函数,用于检查 A 列中是否缺少 entery。如果发生这种情况,它会再次查找搜索字符串 A1,但在 B 列中。

问题和未知错误

当它与 B 列上的字符串匹配时,动态链接会引发错误:

(瑞典语粗略翻译)

"file:///(long path)/ABCD%3F" is not an absolut URL that can be sent to an external program be opened."

但是,每个动态链接都是单独工作的。正是当我将它们与 IFNA 结合使用时,才会出现此问题。

看起来构造的链接等于第一次查找中的 URLTEXT,而它应该是第二次查找中的行号。

我怀疑这是链接失败的原因。不过我可能是错的,我不明白为什么会发生这种情况。

当把组件分解成更小的部分时,一切看起来都很好:

显示设置和组件分解的 图片 显示公式的图片

以下是复制此问题的设置。公式及其所属单元格:

A1 = "ABC"
A3 = "acol"
A4 = "AB"
A5 = "CD"
B3 = "bcol"
B3 = "ABCD"
B4 = "CDEF"
C3 = "acode"
D3 = "bcode"

重命名单元格:

lookup_search_cell = A1
lookup_code_arr = A4:D5
translated_lookup_search_cell = B1
lookup_acode_col = C4:C5
lookup_bcode_col = D4:D5

B1:

=CONCATENATE(,
IF(CODE(MID(UPPER(A1),1,1))=0,CODE(MID(UPPER(A1),1,1))),
IF(CODE(MID(UPPER(A1),2,1))=0,CODE(MID(UPPER(A1),2,1))),
IF(CODE(MID(UPPER(A1),3,1))=0,CODE(MID(UPPER(A1),3,1))),
IF(CODE(MID(UPPER(A1),4,1))=0,CODE(MID(UPPER(A1),4,1))))

C1:

=IF(lookup_search_cell="","Enter",

    IFNA(
        IFNA(
            LINK("#sheet1.$A$" & 
                MATCH(translated_lookup_search_cell&"*",lookup_acode_col,0)+3 & ":" & "$B$" & 
                MATCH(translated_lookup_search_cell&"*",lookup_acode_col,0)+3,

                IFERROR(
                    INDEX(lookup_code_arr,
                        MATCH(translated_lookup_search_cell&"*",lookup_acode_col,0),1
                    )&"?","Cant find acol entery"
                )
            ),

            LINK("#sheet1.$A$"&
                MATCH(translated_lookup_search_cell&"*",lookup_bcode_col,0)+3 & ":" & "$B$" & 
                MATCH(translated_lookup_search_cell&"*",lookup_bcode_col,0)+3,

                IFERROR(
                    INDEX(lookup_code_arr,
                        MATCH(translated_lookup_search_cell&"*",lookup_bcode_col,0),2
                    )&"?","Cant find bcol entery"
                )
            )
        ),"Cant find entery"
    )
)

C4:

=CONCATENATE(,
IF(CODE(MID(UPPER(A4),1,1))=0,CODE(MID(UPPER(A4),1,1))),
IF(CODE(MID(UPPER(A4),2,1))=0,CODE(MID(UPPER(A4),2,1))),
IF(CODE(MID(UPPER(A4),3,1))=0,CODE(MID(UPPER(A4),3,1))),
IF(CODE(MID(UPPER(A4),4,1))=0,CODE(MID(UPPER(A4),4,1))))

C5:

=CONCATENATE(,
IF(CODE(MID(UPPER(A5),1,1))=0,CODE(MID(UPPER(A5),1,1))),
IF(CODE(MID(UPPER(A5),2,1))=0,CODE(MID(UPPER(A5),2,1))),
IF(CODE(MID(UPPER(A5),3,1))=0,CODE(MID(UPPER(A5),3,1))),
IF(CODE(MID(UPPER(A5),4,1))=0,CODE(MID(UPPER(A5),4,1))))

D4:

=CONCATENATE(,
IF(CODE(MID(UPPER(B4),1,1))=0,CODE(MID(UPPER(B4),1,1))),
IF(CODE(MID(UPPER(B4),2,1))=0,CODE(MID(UPPER(B4),2,1))),
IF(CODE(MID(UPPER(B4),3,1))=0,CODE(MID(UPPER(B4),3,1))),
IF(CODE(MID(UPPER(B4),4,1))=0,CODE(MID(UPPER(B4),4,1))))

D5:

=CONCATENATE(,
IF(CODE(MID(UPPER(B5),1,1))=0,CODE(MID(UPPER(B5),1,1))),
IF(CODE(MID(UPPER(B5),2,1))=0,CODE(MID(UPPER(B5),2,1))),
IF(CODE(MID(UPPER(B5),3,1))=0,CODE(MID(UPPER(B5),3,1))),
IF(CODE(MID(UPPER(B5),4,1))=0,CODE(MID(UPPER(B5),4,1))))
4

1 回答 1

0

对不起,我认为这是一个转贴,在这里找到答案。 如何在excel单元格中添加多个链接?

这个问题可以删除。如果属实,那么感谢 Didier 提供的信息。

如果有人觉得有趣,这是另一种解决方案,

=OM(lookup_search_cell=""
;
    "Enter"
;

    LÄNK("#sheet1.$A$"&
        OMSAKNAS(
            PASSA(translated_lookup_search_cell&"*";lookup_acode_col;0)+3&":"&"$B$"&
            PASSA(translated_lookup_search_cell&"*";lookup_acode_col;0)+3
        ;
            PASSA(translated_lookup_search_cell&"*";lookup_bcode_col;0)+3&":"&"$B$"&
            PASSA(translated_lookup_search_cell&"*";lookup_bcode_col;0)+3
        )

    ;
        OMSAKNAS(
            INDEX(lookup_code_arr;
                PASSA(translated_lookup_search_cell&"*";lookup_acode_col;0);1
            )&"?"
            
        ;
            INDEX(lookup_code_arr;
                PASSA(translated_lookup_search_cell&"*";lookup_bcode_col;0);2
            )&"?"
        )
    )
)

结论,你不能在同一个单元格中有多个链接,但你可以塑造一个并且唯一的链接到你想要的。

于 2021-09-25T03:09:19.907 回答