R 如何提取具有特定颜色的所有单元格值(以及它们的单元格ID)?
我有一个数据集,看起来像 我想创建另一个只有两列的数据集: (1) 所有红色单元格的值/文本 (2) 与每个值/文本关联的原始单元格ID 本质上,它应该是这样的 我假设有一种简单的方法可以做到这一点,但由于某种原因,我无法使它在excel上工作(可能是因为我使用的是excel的在线版本,但我不确定)。我也很乐意用R来做这件事,以防更简单 提前谢谢你R 如何提取具有特定颜色的所有单元格值(以及它们的单元格ID)?,r,excel,filter,R,Excel,Filter,我有一个数据集,看起来像 我想创建另一个只有两列的数据集: (1) 所有红色单元格的值/文本 (2) 与每个值/文本关联的原始单元格ID 本质上,它应该是这样的 我假设有一种简单的方法可以做到这一点,但由于某种原因,我无法使它在excel上工作(可能是因为我使用的是excel的在线版本,但我不确定)。我也很乐意用R来做这件事,以防更简单 提前谢谢你 p、 很抱歉这个奇怪的裁剪数据集(为了隐私而做)。由于您愿意使用VBA并要求提供进一步建议,我编写了下面的代码作为指导,以便您可以学习、更改它并
p、 很抱歉这个奇怪的裁剪数据集(为了隐私而做)。由于您愿意使用VBA并要求提供进一步建议,我编写了下面的代码作为指导,以便您可以学习、更改它并获得所需的结果 假设您有一个名为“彩色数据”的工作表,如下所示: 还有一张名为“分析”的表格,如下所示: 您可以运行以下代码:
Sub CompareAndHighlightDifferences()
Dim w1 As Worksheet, w2 As Worksheet
Dim cell_color As String
Dim cell_address As String
Dim new_row As Long
Set w1 = Sheets("Colored data")
Set w2 = Sheets("Analysis")
With w1
For Each cel In .UsedRange
cell_color = cel.Interior.Color
cell_address = cel.Address
new_row = w2.Cells(Rows.Count, 1).End(xlUp).Row + 1
w2.Cells(new_row, 1) = cell_address
With w2.Cells(new_row, 2)
.Value = cell_color
.Interior.Color = cell_color
End With
Next cel
End With
End Sub
并在表格“分析”中获得以下结果:
希望有帮助。您愿意使用VBA吗?因为你不能只使用公式来检查单元格的内部颜色。我认为tidyxl包对于处理以格式输入数据/信息的Excel文件可能很有用;但需要一些处理。@Lucas是的,我愿意这样做。你有什么进一步的建议吗?@joran你介意详细介绍一下我如何使用tidyxl来实现我的目标吗?我自己从来没有使用过它,我只知道它存在。非常感谢!这是非常有帮助的。我希望我的第二列包含原始单元格的文本值。。。那么我会简单地做吗。Value=cell\u Value?不确定正确的语法是什么(我试着用谷歌搜索)。@Mint因为我们正在迭代每个“cel”,你应该用“.Value=cell.Value”替换“.Value=cell\u color”。在代码中,“cel”只是一个名称,用于调用循环中的每个对象。我使用它而不是“cell”,以避免与同名的VBA对象混淆。