小编504*_*ore的帖子

Excel:值集群的条件格式

在EXCEL 2010电子表格中,如何为群集单元格值创建交替填充颜色,更改何时达到新值群集?

假设列A包含以下值:

123

123

123

456

456

789

789

789

789

我希望A2:A4中的所有123个值具有相同的填充颜色(例如,绿色),A5中的所有456个单元格:A6是新填充颜色(比如蓝色),以及所有789个单元格中的A7:A10返回用于123值的填充颜色(再次为绿色).

这与许多重复值示例不同.

这是一个练习,我想一遍又一遍地重复报告,其中值将动态变化,无法预料.

VBA解决方案没问题.

谢谢.

excel conditional-formatting

8
推荐指数
2
解决办法
3万
查看次数

从 [regex] 类型加速器表达式中捕获命名组的 PowerShell 语法是什么?

该问题使用以下示例字符串:

$r = 
"20160112 11:26:39 UPDATE CMIS-NC.ABC.LA012345J.NAM/MOUSE, MICKEY J.SEX/M.RAC/W.DOB/19670601.PCA/A1.ARI/CRIM1234567.DNY/CONVICTED OF DISTRIBUTING THE PEACE.OCA/123456.SOR/LA.MIS/CONFIRM RECORD AT DISNEY STUDIOS 123-456-7890 OR PAGER 123-456-7890.
20160112 11:26:39 RESPONSE CMIS-NC.ACK 1234567890 CMIS-NC  123456 CMIS-NC  123456 20160112 11:26:31

.
20160112 11:26:39 INFO MSN of message to LEMS is <1234567890>.
20160112 11:26:39 RESPONSE CMIS-NC.MSG 1234567890 CMIS-NC  123456 NC2K     AC1234 20160112 11:26:31
LA012345J
CTL/
ATN/

6L12345678901234567890EDP 
LA012345J
ACCEPT MKE/EDP
NAM//MOUSE, MICKEY J
ARI/CRIM1234567
NRI/1234567890"
Run Code Online (Sandbox Code Playgroud)

可以使用 PowerShell 内置正则表达式捕获命名组,方法是在$matches自动变量中引用它们:

$updateRequestPattern = "(?<RequestDate>\d{8} \d{2}:\d{2}:\d{2}) (?<UpdateRequest>UPDATE CMIS-NC\.[A-Z]{3,4}\.LA012345J\..+)\n"

$request = $r …
Run Code Online (Sandbox Code Playgroud)

.net regex powershell type-accelerators

5
推荐指数
1
解决办法
7581
查看次数

Powershell数组:何时使用它们; 何时避免; 和使用它们的问题

为什么.NET Framework ArrayList类.Add方法在PowerShell实现中不起作用?

除非我另外纠正,否则我认为我的故事的整体道德可能是:不要假设本机PowerShell方法将与.NET方法相同,并且在PowerShell中尝试.NET方法时要小心.

我正在寻找的原始解决方案是从一个函数返回一个日期列表,作为一个数组,用户定义的日期范围作为参数.然后引用日期数组来移动和读取以日期戳命名的文件.

我遇到的第一个问题是创建一个动态数组.我不知道我在做什么,并且错误地.Add@()数组声明上调用.NET 方法.

使用"1"参数调用"Add"的异常:"Collection具有固定大小."

我认为我需要找到一个动态数组类型,当我真正的问题是我做得不对时.这让我走向了一个不同的方向,直到很久以后,我发现应该使用+=语法将对象添加到PowerShell数组中.

无论如何,在我回到如何正确使用PowerShell数组之前,我在其他一些切线上了.

然后我找到了.NET ArrayList类.好的.现在我有一个动态数组对象.我阅读了文档,其中说我应该使用该.Add方法向集合中添加元素.

然后开始寻求更深入的理解,因为我经历了几天头脑紧张的挫折试图解决问题.

我制作了一个最初工作的实现.它产生了一个日期范围 - 但它也产生了一些奇怪的行为.我观察到奇怪的日期返回,例如:

0001年1月1日星期一12:00:00 AM

事实证明,我发现这是你执行此操作时获得的结果:

Get-Date 0
Run Code Online (Sandbox Code Playgroud)

ArrayList被返回时,首先,索引值的数组元素的列表,然后将数组值.这根本没有任何意义.我开始探索我是否正确地调用函数,我是否遇到某种可变范围问题,或者我是否只是疯了.

我现在相当确信我的挫败感是由于缺乏一个可靠的初学者参考,不仅仅展示了如何进行简单数组实现的几个例子,而是用其他解决方案描述了一些注意事项.

让我在这里解释一下,实现数组/集合的三种方法,以及我试图生成的解决方案 - 即日期范围内的日期列表.

出于某种原因,我最初认为在Powershell中向.NET ArrayList添加元素的正确方法是使用.Add方法.它的记载.我仍然不明白为什么这不起作用(严重 - 有人请赐教).通过实验,我发现通过使用+=将对象添加到ArrayList 的方法,我可以获得准确的结果.

不要这样做.这绝对是错的.它会产生我上面描述的错误:

Function Get-DateRangeList {
    [cmdletbinding()]
    Param (
        [datetime] $startDate,
        [datetime] $endDate
    )

    $datesArray = [System.Collections.ArrayList]@()  # Second method

    for ($d = $startDate; $d -le $endDate; $d = $d.AddDays(1)) {
        if ($d.DayOfWeek -ne 'Sunday') { …
Run Code Online (Sandbox Code Playgroud)

arrays powershell arraylist generic-list

2
推荐指数
1
解决办法
899
查看次数