-3

我正在做一个启发式分析,我有以下问题:

我想在 D 列中找到与 J 列匹配的数字,并将它们替换为“0”。你可以在这张图片上看到我想要做什么:http: //imageshack.us/f/96/heuristic.jpg/

部分代码:

   Dim i,j As Integer
   Dim temp As String
   Dim x As Integer
   Dim d As String

   i = Application.CountA(Range("E:E")) + 10
   'number of cell with values
   j = Application.CountA(Range("J:J")) + 10
   For j = 11 To j
        temp = Range("J" & j).Value
          For i = 11 To i
           d = Range("D" & i).Value
           *
           Next
  Next

问题在于*,我不知道如何传递","D 列中的逗号并存储数据。我想将温度与值进行比较"d",但是"d"。我可以在同一个单元格上有多个数字,比如"3,2,1",如果有任何匹配,比如temp = 3, then d= "0,2,1".

英语不是我的母语,所以我希望你能理解我想要的。

4

1 回答 1

1

不需要VBA。标准 Excel 函数将起作用:

  1. 在 D 列附近的某处创建一个新列。
  2. 在您的新列中,使用此公式=IF(ISERROR(VLOOKUP(D11,J:J,1,FALSE)),D11,0)。此公式在 J 列中查找 D11 的值。如果找到匹配项,则返回 0。否则,返回 D11。
  3. 如果需要,您可以隐藏 D 列以避免混淆。

如果您必须多次执行此操作,您可能需要一个未格式化的“原始数据”选项卡和一个干净的“显示选项卡”。这有帮助吗?

于 2013-05-14T18:50:12.023 回答