在A栏中,我列出了包含各种TLD的域名,例如: .com .co .net等 在B栏中,我想提出年度续约价格。
我知道这不是正确的语法,但我希望有人可以帮助我。
=IF(SEARCH(A2,".com"),9.00,(SEARCH(A2,".net"),10.50,SEARCH(A2,".co.uk"),5.00,"FALSE")
或者,如果有多个TLD具有相同的值,是否可以以某种方式指定?
有几百个顶级域名我只想搜索少数,但使用VLOOKUP可能会让我无法添加全面的顶级域名列表并能够全部搜索。
答案 0 :(得分:1)
这是您修复功能的方法:
=IFERROR(IF(IFERROR(SEARCH(".com",A2),FALSE),9,IF(IFERROR(SEARCH(".net",A2),FALSE),10.5,IF(IFERROR(SEARCH(".co.uk",A2),FALSE),5,"NO MATCH"))),"NO MATCH")
但最好的选择是使用通配符查找功能和la barry houdini。实际上有一段时间与之相关的挑战赛:
http://www.mrexcel.com/pc18.shtml
以下是一个例子:
=VLOOKUP(LOOKUP(32768,SEARCH(D$2:D$4,A2),D$2:D$4),$D$2:$E$4,2,FALSE)
通过这种方式,您可以避免使用无限长的复合if语句来检查无数的url域名。
答案 1 :(得分:0)
您想为您的TLD和价格创建一个查找表
.com | $10
.net | $5
.org | $5
然后,您希望拆分域名,以便将TLD放在单独的列中。如果您的所有TLD都是三个字母,例如.net,.com,你可以将它们放到一个单独的列中:
=RIGHT(A1, 4)
如果它们不仅仅是三个字母的TLD,那就更棘手了。
将TLD拆分为单独的列后,使用VLOOKUP
功能查找每个TLD的价格。
=VLOOKUP(tld_to_lookup, range_of_lookup_table, 2, FALSE)
" 2"在该公式中是对上面查找表中第二列的引用,并且" FALSE"说我们不想要近似匹配,我们希望完全匹配。
答案 2 :(得分:0)
此数组公式适用于在任何其他任意字符串中查找任意字符串:
{=VLOOKUP(MID(cellBeingSearched,MIN(IFERROR(FIND(FirstColumnOfTable,A2),1000)),1000),WholeTable,2,FALSE)}
答案 3 :(得分:-1)
@ Stepan1010发布的答案对于excel来说是正确的。
这是“数组函数”的一种形式(搜索“表数组”)。 Apple Numbers不能像Excel那样进行数组功能
因此,对于那些想要解决我遇到的问题的人,以下公式适用于PC和Mac的Excel和Mac的数量。
=VLOOKUP(RIGHT(A2,LEN(A2)-SEARCH(".",A2)+1),C$2:D$4,2,FALSE)