【问题标题】:10 values in column A, 4 in column B, 40 unique outputs?A 列中有 10 个值,B 列中有 4 个值,40 个唯一输出?
【发布时间】:2014-05-17 22:07:59
【问题描述】:

我一直在努力尝试获得 40 个独特的输出。我已经截取了我基本上想要了解的内容。

截图:

我一直在使用INDIRECTCEILING 命令,但无法正常工作。 有人可以帮忙解释一下吗?

【问题讨论】:

    标签: excel formulas


    【解决方案1】:

    这行得通:

    ="the brown " & INDEX(A:A,CEILING(ROW()/4,1)) & " jumped over the "& INDEX(B:B,(MOD(ROW()-1,4)+1))
    

    它使用CEILING 以及除以四来重复 A 列中的每个项目 4 次。它使用MOD 在四个数字之间循环。

    您可以使用COUNTA 将其推广到 B 列中的许多值:

    ="the brown " & INDEX(A:A,CEILING(ROW()/COUNTA(B:B),1)) & " jumped over the "& INDEX(B:B,(MOD(ROW()-1,COUNTA(B:B))+1))
    

    【讨论】:

      【解决方案2】:

      我不确定是否有办法用公式来做到这一点。初学者试试这个 vba:

      Dim listA As Range
      Dim listB As Range
      
      Set listA = Range("A1", Range("A1").End(xlDown))
      Set listB = Range("B1", Range("B1").End(xlDown))
      
      y = 1
      
      For Each cellA In listA
          For Each cellB In listB
              Cells(y, 4).Value = "blah " & cellA.Value & ", blah " & cellB.Value
              y = y + 1
          Next
      Next
      

      这假设您的第一个变量列表从第 1 行开始在 A 列中,没有间隙,并且您的第二个变量列表从第 1 行开始在 B 列中,没有间隙。它遍历这些范围内的所有值 - A 列值的外部循环和 B 列值的内部循环。从第 1 行开始将每个唯一组合输入到 D 列中。

      【讨论】:

        【解决方案3】:

        我做了一些实验,看看能否找出一个公式……最终我放弃了,并在 MrExcel 上找到了this solution,感谢 Tusharm。他的位置是第三位;他说将其粘贴到 F1 并复制下来,直到得到空白结果。

        =IF(ROW()-ROW($F$1)+1>COUNTA(A:A)*COUNTA(B:B),"",INDEX(A:A,INT((ROW()-ROW($F$1))/COUNTA(B:B)+1))&INDEX(B:B,MOD(ROW()-ROW($F$1),COUNTA(B:B))+1))
        

        【讨论】:

          猜你喜欢
          • 2020-03-10
          • 1970-01-01
          • 2021-11-14
          • 1970-01-01
          • 2022-07-11
          • 1970-01-01
          • 2021-10-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多