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))))