我一直在为探路者(一个类似D&D的游戏)开发一个随机字符生成器。我让生成器与一些高级功能很好地工作在一起,以便使用=randbetween函数创建动态范围。我将其设置为根据切换的复选框注释掉列表中的范围。这在很大程度上是有效的,但是有时,函数会返回FALSE,而不应该返回FALSE,但是没有错误代码,我很难找到问题。下面是我的函数的一个基本示例。
=if(B3=true,index({
IF(B5=TRUE,{D5,E5,F5}),
IF(B6=TRUE,{D6,E6,F6}),
IF(B7=TRUE,{D7,E7,F7})
},randbetween(1,COUNTA({
IF(B5=TRUE,{D5,E5,F5}),
IF(B6=TRUE,{D6,E6,F6}),
IF(B7=TRUE,{D7,E7,F7})
}))),"")这里有一个指向工作表的链接。https://docs.google.com/spreadsheets/d/1YS3ayQxS6vA67dlh61hrr-zJzWdOL5LWZj8_P0Wblko/edit?usp=sharing
发布于 2020-03-11 17:21:50
您提供的函数示例运行正常。工作表中的错误并不是因为您在带括号的数组中的IF函数之前错误地放置了=符号,这不是正确的syntax。
更改此设置:
=if(B3=true,index({
=IF(B5=TRUE,AlignmentGood),
IF(B6=TRUE,AlignmentNeutral),
IF(B7=TRUE,AlignmentEvil,"No Input")
},randbetween(1,COUNTA({
=IF(B5=TRUE,AlignmentGood),
IF(B6=TRUE,AlignmentNeutral),
IF(B7=TRUE,AlignmentEvil,"No Input")
}))),"No Input")要这样做:
=if(B3=true,index({
IF(B5=TRUE,AlignmentGood),
IF(B6=TRUE,AlignmentNeutral),
IF(B7=TRUE,AlignmentEvil,"No Input")
},randbetween(1,COUNTA({
IF(B5=TRUE,AlignmentGood),
IF(B6=TRUE,AlignmentNeutral),
IF(B7=TRUE,AlignmentEvil,"No Input")
}))),"No Input")https://stackoverflow.com/questions/60604803
复制相似问题