谷歌表格,如何根据来自另一个单元格的字符串更改单元格
Posted
技术标签:
【中文标题】谷歌表格,如何根据来自另一个单元格的字符串更改单元格【英文标题】:Google sheets, how to change cell based on string from another cell 【发布时间】:2021-12-23 15:29:51 【问题描述】:我有这张表,上面有一堆 Ls 和 Hs,有 4 种组合。
我希望 Google 表格识别 Ls 和 Hs 的模式。
以下是 Ls 和 Hs 的一些示例:
HLLL
LH
LHLL
LHHL
LHHH
LHHHH
我希望 Google 表格能够运行如下检查:
如果单元格包含 LH,则继续,否则将单元格文本更改为“模式 1”
如果单元格包含 HL,则继续,否则将单元格文本更改为“模式 2”
如果包含 LL,则将单元格文本更改为“模式 3”,否则将单元格文本更改为“模式 4”
但是,每组不能包含 2 个模式。所以 HLLL 不能同时是模式 1 和模式 3。它必须是模式 1。
有没有办法在 Google 表格中做到这一点?
谢谢。
编辑**
我能够使用条件格式对图案进行颜色编码,但我仍然无法解决原始问题。这是我的条件格式的样子:
enter image description here
Red is "Pattern 1", it must start with HL
Blue is "Pattern 2", it must start with LH and stay H, no more Ls
Green is "Pattern 3", it must end with LL
Yellow is "Pattern 4", it must end with HL
最终结果是这样的: enter image description here
这就是 D 行。例如,我希望 E 行写下 D 行中的 Ls 和 Hs 是什么模式。
所以 D23 中的 Green 会自动在 E23 中写入“模式 3”。 D24 中的蓝色会在 E24 中放置“模式 2” 等等
每组 Ls 和 Hs 不能有超过 1 个模式。检查必须按照我放入的特定顺序进行,以避免错误识别模式。
HLLL 不是模式 3,即使它以 LL 结尾,因为它以 HL 开头,这是第一次检查。
检查的优先级在于,如果落在模式 1 上,它不会被模式 3 覆盖。从上到下的层次结构。
【问题讨论】:
【参考方案1】:您的描述有些不一致,但我认为这就是您想要的。您的条件格式的标准可以是自定义公式,而不仅仅是严格的预设匹配类型:
阅读自定义公式,就像将它们应用到格式化范围的左上角单元格一样。公式中的引用是绝对列但相对行引用 ($A2
)。绝对列引用意味着 A2 和 A3 都将查看 A2 以确定条件格式。相对行引用意味着 B2 和 B3 看 B2 而不是 A2。
第二个公式(在图像中被截断)使用SUBSTITUTE
函数删除所有“H”并确认剩下的只是唯一的“L”。这意味着任何其他字母的存在(例如 'G' 将导致此模式不匹配):
=AND(LEFT($A2,2)="LH", SUBSTITUTE($A2,"H","")="L")
为了完整起见,我在 B 列中显示格式数字。B2 中的公式是所有条件的串联:
=IF(LEFT(A2,2)="HL",1,IF(AND(LEFT(A2,2)="LH",SUBSTITUTE(A2,"H","")="L"), 2, IF(RIGHT(A2,2)="LL",3,IF(RIGHT(A2,2)="HL",4,-1))))
【讨论】:
是的!这就像一个魅力!非常感谢马克!以上是关于谷歌表格,如何根据来自另一个单元格的字符串更改单元格的主要内容,如果未能解决你的问题,请参考以下文章