如何提取具有特定颜色的所有单元格值(及其单元格ID)?

时间:2019-04-18 15:41:06

标签: r excel filter

我有一个看起来像this的数据集。

enter image description here

我想创建另一个只有两列的数据集:

(1)所有红色单元格的值/文本 (2)与每个值/文本关联的原始单元格ID

从本质上讲,它应该看起来像this

enter image description here

我假设有一个简单的方法可以执行此操作,但是由于某些原因,我无法使其在excel上运行(也许是因为我使用的是excel的在线版本,但是我不确定)。如果更容易,我也很乐意使用R进行此操作。

提前谢谢!

p.s。抱歉,裁剪后的数据集很奇怪(出于隐私目的而做)。

1 个答案:

答案 0 :(得分:1)

由于您愿意使用VBA并要求进一步的建议,因此我编写了以下代码作为指南,以便您可以学习,更改它并达到预期的效果。

假设您有一个名为“ 彩色数据”的工作表,如下所示:

enter image description here

还有一个名为“ 分析”的工作表,如下所示:

enter image description here

您可以运行以下代码:

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

并在“ 分析”工作表中获得以下结果:

enter image description here

希望有帮助。