excel,如何实现A列的数据多对一B列中的数据,按照B列的数据,重复循环至B列所有的数值结束时为止? 100

如图,A列为要循环的所有数据B列为A列循环多对1时的数据按照B列的数据顺序,A列的所有数据每次对应B列的1个数值,循环1次后到下一个B列的数据,一直到B列所有数据都对应循... 如图,A列为要循环的所有数据B列为A列循环多对1时的数据按照B列的数据顺序,A列的所有数据每次对应B列的1个数值,循环1次后到下一个B列的数据,一直到B列所有数据都对应循环了1次后,循环结束不知道怎么使用公式才能实现这样的结果,请大神指教 展开
 我来答
人生苦短就用python
2022-06-16 · python就是你余生必备的工具
人生苦短就用python
采纳数:362 获赞数:11503

向TA提问 私信TA
展开全部

本来想给你做成公式,但无奈有些知识实在是不会,就只做成了过程,你只需要修改list_A、list_B、rowNum、columnNum,详见以下代码:

Sub createList()

    Dim list_A As String

    Dim list_B As String

    Dim rowNum As Integer

    Dim columnNum As Integer

    Dim list_left() As String

    Dim list_right() As String

    Dim i As Integer

    Dim j As Integer

    

    '------要修改的变量-----------------

    

    '要形成列表的两个字符串

    list_A = "13458"

    list_B = "AVCKM"

    

    '放置列表的行号

    rowNum = 1

    '放置列表的列号

    columnNum = 1

    '-----------------------------------

    

    

    ' 拆分list_a

    ReDim list_left(0 To Len(list_A) - 1)

    For i = 0 To Len(list_A) - 1

        list_left(i) = Mid(list_A, i + 1, 1)

    Next

    

    ' 拆分list_b

    ReDim list_right(0 To Len(list_B) - 1)

    For i = 0 To Len(list_B) - 1

        list_right(i) = Mid(list_B, i + 1, 1)

    Next

    

    ' 通过双层循环来放置数据

    For i = 0 To UBound(list_left)

        For j = 0 To UBound(list_right)

            Cells(rowNum + i * (UBound(list_right) + 1) + j, columnNum) = list_left(i)

            Cells(rowNum + i * (UBound(list_right) + 1) + j, columnNum + 1) = list_right(j)

        Next

    Next

End Sub

阳光上的桥
2022-06-16 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65769
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

结果公式A:

=INDEX(A:A,MOD(ROW(A1)-1,COUNTA(A:A))+1)

下拉效果:

结果公式B:

=INDEX(B:B,INT((ROW(B1)-1)/COUNTA(B:B))+1)

下拉效果:

追问
非常感谢大神出手,小白尝试理解这个复合函数,可只能看懂结果公式的部分意思,太复杂了完全看不懂,只能照猫画虎试试看我能不能用在解决我现在遇到的问题了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wu_zhenjiu
科技发烧友

2022-06-16 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:3.1万
采纳率:79%
帮助的人:1.1亿
展开全部

如图:(A和B列数据可以增加,数量也可以不等)

D1公式:

=OFFSET(A$1,MOD(ROW(A1)-1,COUNTA(A:A)),)

E1公式:

=OFFSET(B$1,(ROW(A1)-1)/COUNTA(B:B),)

以上公式下拉。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1陈杭荣
科技发烧友

2022-06-16 · 有一些普通的科技小锦囊
知道小有建树答主
回答量:1954
采纳率:57%
帮助的人:318万
展开全部

使用excel中的VBA宏代码可一键实现该功能。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yanxy0924
2022-06-16 · 知道合伙人互联网行家
yanxy0924
知道合伙人互联网行家
采纳数:7683 获赞数:18545

向TA提问 私信TA
展开全部

D2:   =OFFSET(A$2,MOD(ROW(A1)-1,5),)     

E2:    =OFFSET(B$2,(ROW(A1)-1)/5,)

两公式下拉

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式