我有一个电子表格,我在一天内写下我的活动,并按照一个数字对该活动进行评级,如下所示:
|Rating |Activity|
----------------------
1pm | 5 | Coding |
2pm | 3 | Shower |
3pm | 7 | Games |
现在我希望这些细胞的背景根据评级而改变。对于实际的评级单元,我没有问题。
但是当我想为活动单元格着色时,我只能设法将它做成一行。
我有三个使用自定义公式的规则:
Green: F2>=7
Red : F2<4
Yello: 7>F2>=4
这适用于那个单元格。
我的问题是如何使这些规则适用于一系列细胞。而不是仅将此规则应用于G2,我想将其应用于G2:G20。但是当我这样做时,自定义公式仍会说F2而我需要的基本上是&#34; F {CURRENT_ROW}&#34;。
我认为我需要的是获取当前行的行号而不是2的某种方式,所以我尝试了:
Green: F&ROW(F2:F20)>=7
Red : F&ROW(F2:F20)<4
Yello: 7>F&ROW(F2:F20)>=4
以及其他一些变体&#34;在F和$周围而不是&amp; (我不知道我在做什么,或者我讨厌这些符号做什么)但我还没有发现任何有用的东西。
有办法做到这一点吗?我想避免为每一行添加特定的规则。
答案 0 :(得分:0)
比我想象的更容易,只是将公式更改为:
>nul copy nul %OUTPUT_FILE%
echo HOSTNAME,LONGNAME,IPADDRESS,STATE >%OUTPUT_FILE%
for /f %%i in (testservers.txt) do (
set SERVER_ADDRESS_I=UNRESOLVED
set SERVER_ADDRESS_L=UNRESOLVED
for /f "tokens=1,2,3" %%x in ('ping -n 1 -a %%i ^&^& echo SERVER_IS_UP') do (
if %%x==Pinging set SERVER_ADDRESS_L=%%y
if %%x==Pinging set SERVER_ADDRESS_I=%%z
if %%x==SERVER_IS_UP (set SERVER_STATE=UP) else (set SERVER_STATE=DOWN)
)
echo %%i [!SERVER_ADDRESS_L::=!] !SERVER_ADDRESS_I::=! is !SERVER_STATE!
echo %%i,!SERVER_ADDRESS_L::=!,!SERVER_ADDRESS_I::=!,!SERVER_STATE! >>%OUTPUT_FILE%
)
致力于解决我至少要解释的问题。我现在觉得自己像个白痴^^
答案 1 :(得分:0)
我认为可能会有一种稍微简单的方法来获得相同的结果,但主要的好处是如果你的名单是“无穷无尽” - 即不仅仅是F2:F20。
1]由于您几乎涵盖了三种条件的所有可能性,因此您可以跳过其中一种。例如, all Yello
(使用标准格式实现)并且仅对Green
和Red
应用CF公式规则。 CF规则将覆盖“标准”格式。
2]在添加规则之前选择整个列F.那么你只需要定义F1的规则,所以少输入一点。不可否认,这意味着F1受CF限制,这可能不适合(虽然很容易通过以下方式处理:一个额外的规则,优先级,只针对那个单元格;通过更改应用于范围 {{1只有F1触发的规则才能F1
;或者其他)。
3]您的F2
似乎是整数,因此Ratings
可能会简化为>=7
(以及>6
至>=4
)。
4]由于所有条件完全取决于“旁边单元格的值”,因此同时格式化触发器值可能更好。也就是说,如果基于>3
对Activity
进行着色,则在您使用时给出Rating
颜色。为此,只需将Rating
扩展一列。