- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Excel 电子表格,其中包含一列中的字符串列表。字符串列表由多个不同长度的数字组成,用“/”和“;”分隔字符串的第一个条目是代码 id(长度始终为 3),后跟“/”,然后是数量(长度不同),后跟“;”如果字符串继续。 (以下文本示例)
我可以使用此功能隔离金额:
TRANSPOSE(FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(B2,"/",";"),";","</s><s>")&"</s></t>","//s[position() mod 2 = 0]"))
但是,我仍然需要 ifs 函数来将字符串中的变量相乘,因此我为数组分配了 set 变量:
LET(X,FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(B2,"/",";"),";","</s><s>")&"</s></t>","//s[position() mod 2 = 0 and .<=10]"))
LET(Y,FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(B2,"/",";"),";","</s><s>")&"</s></t>","//s[position() mod 2 = 0 and .>10 and .<=20]"))
LET(Z,FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(B2,"/",";"),";","</s><s>")&"</s></t>","//s[position() mod 2 = 0 and .>20]"))
然后我创建了它应该工作的 IFS 函数(这只是一个例子,实际的 IFS 函数要长得多):
IFS(AND(A2=2,X<=10),X*1.09,AND(A2=2,Y>10,Y<=20),Y*1.14,AND(A2=2,Z>20),Z*1.21)
我试图把这些放在一起,我想出了这个:
=TRANSPOSE(LET(X,FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(B30,"/",";"),";","</s><s>")&"</s></t>","//s[position() mod 2 = 0 and .<=10]"),Y,FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(B30,"/",";"),";","</s><s>")&"</s></t>","//s[position() mod 2 = 0 and .>10 and .<=20]"),Z,FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(B30,"/",";"),";","</s><s>")&"</s></t>","//s[position() mod 2 = 0 and .>20]"),IFS(AND(A30=2,X<=10),X*1.09,AND(A30=2,Y>10,Y<=20),Y*1.14,AND(A30=2,Z<=20),Z*1.21)))
但是,这只返回小于或等于 10 的变量 X。
018/2;274/21;218/15 -> 2*1.09
它需要返回什么
018/2;274/21;218/15 -> 2*1.09 21*1.21 15*1.14
编辑:
最佳答案
似乎以下内容可以满足您的需求(经过我们长时间的交谈):
=IF(A2<>"",LET(MNT,TRANSPOSE(FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(B2,"/",";"),";","</s><s>")&"</s></t>","//s[position() mod 2 = 0]")),MUL,INDEX({1.65\1.35\0.14,1.85\1.47\0.24,2.05\2.48\0.5},MATCH(A2,{1,2,4,6,8,10,12,16,20,24,28},0),0),IFS(MNT<=10,MNT*INDEX(MUL,1),MNT<=20,MNT*INDEX(MUL,2),MNT>20,MNT*INDEX(MUL,3)+35)),"")
关于arrays - 添加具有多个真实 filterxml 变量的 ifs 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64913110/
写多个if语句和if-else-if语句有什么区别吗? 当我尝试用多个 if 语句编写程序时,它没有给出预期的结果,但它与 if-else-if 一起工作。 条件是互斥的。 最佳答案 当您编写多个 i
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 7 年前。 Improve
这个问题在这里已经有了答案: Difference between multiple if's and elif's? (9 个回答) 7年前关闭。 例如... 据一些专家介绍, 这里的条件是互斥的:
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我目前正在开发一个项目(一个非常简单的临时书店),其中有两个类(一个用于管理用户帐户,一个用作驱动程序类),其中通过驱动程序类的main方法。根据项目规范,此菜单由 while 循环表示,用户在其中键
检查文件的 if 条件有两个开关:-e 和 -f。 这两者有什么区别? 最佳答案 参见:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01
我在下面列出了一个问题和两个答案。答案背后的逻辑对我来说似乎是相同的,但解决方案 A 有效,而解决方案 B 返回“false”,除非“x”是字符串的第一个字母。这是为什么? 问题: 编写一个名为 ha
我很好奇,下面的代码: 代码 1: var myValue = 10; if(isBlocked) myValue = 20; 代码 2: var myValue; if(isBlocked)
我有一列“小时”我有一列“种类”(可以是 1,2 或 3) 我想做这样的事情: SELECT count(id), SUM(hour) as totHour, SUM( IF ( kind = 1,
版本 A: if ((A)&&(B)) doSth; if (B) doSthElse; 版本 B: if (B) { if (A) doSth; doSthElse; } 就性能而言
这个问题在这里已经有了答案: How do I split a string on a delimiter in Bash? (37 个答案) How to separate fields with
2 个 if 语句和 1 个 if-else 语句有什么区别? int x; cin >> x; if (x==10) cout > x; if (x==10) cout << "
所以我发现在 Perl 6 中写一个带括号的 if 语句会导致它向我抛出这个错误: ===SORRY!=== Word 'if' interpreted as 'if()' function call
我只想在 if 语句为真时才执行块标记。这就是我的意思。这是我的模板: {% extends "homePageBase.html" %} {% if not blogPage %} {% b
我的问题是这样的。假设我有一个名为 A 的数组,并且我只希望根据条件发生某些操作。什么更有效: 我) A.forEach(x => { if (condition1) { //do stu
function changeDrop() { var windowSize = $(window).width(); if (windowSize > 450) {
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 3 年前。 Improv
我有一个网页,其中包含特定股票是否开仓/平仓的指示器。为此,我想设置一个 if & else if 语句。由于某种原因,我在 eclipse 中遇到错误。 *注意:不知道它是否有帮助,但是如果我将代码
为什么 if (prev = this.Prev()) { ... } 工作但是 if (var prev = this.Prev()) { ... } 不是吗? this.Prev(
下面的coffeescript代码 if a isnt undefined b = 1 if a? b = 1 编译成下面的javascript var b; if (a !== void
我是一名优秀的程序员,十分优秀!