我正在尝试使用 Debian Gnu-Linux 12.4、22.12.3 和 Bash 5.2.15 构建一个关联数组,其中数组中的键值对引用同一数组中的其他键值对。
例子,
declare -A test=(
[0]=0
[1]=1
[2]=2
[3]=$((test[1]+test[2]))
[4]="${test[1]} ${test[2]}"
)
Run Code Online (Sandbox Code Playgroud)
当我在 Konsole 中执行以下 echo 语句时,
echo "${test[1]}"
echo "${test[2]}"
echo "${test[3]}"
echo "${test[4]}"
Run Code Online (Sandbox Code Playgroud)
我有时会得到这样的结果,
1
2
0
Run Code Online (Sandbox Code Playgroud)
有时我得到了我想要的
1
2
3
1 2
Run Code Online (Sandbox Code Playgroud)
由于这种不一致(这可能完全是我的行为造成的),我有几个问题。
另外,我找不到一致的方法来复制这两个不同的结果,无论发生什么或如何发生。
如何制作一个返回第一个非空白单元格值但如果它在它旁边的左侧单元格中定义的函数,它将跳转 2 个单元格并寻找下一个值。
Table:
1 | 2 | 3 | 4 | 5 | 6 | 7 || 29 | 30 | 31 | 32...
a | b | | | c | d | || a | c | |
| | | a | b | | || a | | |
a | b | c | d | e | f | g || a | c | e | g
Run Code Online (Sandbox Code Playgroud)
来自 DL3:EW4873 是值,总是成对出现,但我只需要第一个值,并且仅当它不是 EX 到 …
图片栏 充满评论,如调查问题的反馈。现在用一个公式对 B 列进行图片,该公式计算每个评论中特定关键词的出现次数。我目前在 B 列中使用这个公式: SUM(COUNTIF(A27,{" LBNL "," Lawrence Berkeley "," LBL ","Lawrence Lab*"}))
由于列表将在此过程中增长和缩小,并且因为我最终会得到多个类似的公式(针对不同的类别),我想改为在命名范围内控制列表并从那里引用它。
所以现在假设我的列表如下所示,名称范围为 search_items1
我的公式看起来像 SUM(COUNTIF(A27,search_items1))。
请注意使用 * 作为通配符,这引入了另一个挑战,但即使没有 *,我也无法使上述公式工作。有没有办法使这项工作?带有通配符 * 的解决方案将是理想的。
或者,我可以引用一个从名称范围连接在一起的单元格,如下所示:{" LBNL "," Lawrence Berkeley "," LBL ","Lawrence Lab*"}。我尝试了这一点,但公式将其解释为一个文本块。
我尝试了多种语法变体以及无数的 Google 和超级用户搜索。请帮忙。