不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 工具軟件 > 辦公軟件學(xué)習(xí) > Excel教程 > Excel2007教程 > 在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

時(shí)間: 錦暉1117 分享

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  在工作中有時(shí)需要將Excel某列中的數(shù)據(jù)按指定的次數(shù)依次重復(fù)填充到另一列??捎脭?shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充。以下是學(xué)習(xí)啦小編為您帶來(lái)的關(guān)于在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列,希望對(duì)您有所幫助。

  在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  例如在下圖的示例中,要將A列的編號(hào) 按B列對(duì)應(yīng)次數(shù)重復(fù)填充到D列,即首先將第一個(gè)編號(hào)“WOY756”在D列中填充2次,接著將第二個(gè)編號(hào)“QLG752”填充1次,將第三個(gè)編號(hào) “RWR880”填充5次,……。

  可用數(shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充,在D2單元格輸入下面的數(shù)組公式后按Ctrl+Shift+Enter結(jié)束(下同),然后拖動(dòng)填充柄向下填充公式,直到最后一個(gè)編號(hào)按指定的次數(shù)全部出現(xiàn)為止。

  公式1:

  =OFFSET(A class="main">

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 工具軟件 > 辦公軟件學(xué)習(xí) > Excel教程 > Excel2007教程 > 在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

時(shí)間: 錦暉1117 分享
學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 工具軟件 > 辦公軟件學(xué)習(xí) > Excel教程 > Excel2007教程 > 在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

時(shí)間: 錦暉1117 分享
在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  在工作中有時(shí)需要將Excel某列中的數(shù)據(jù)按指定的次數(shù)依次重復(fù)填充到另一列。可用數(shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充。以下是學(xué)習(xí)啦小編為您帶來(lái)的關(guān)于在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列,希望對(duì)您有所幫助。

  在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  例如在下圖的示例中,要將A列的編號(hào) 按B列對(duì)應(yīng)次數(shù)重復(fù)填充到D列,即首先將第一個(gè)編號(hào)“WOY756”在D列中填充2次,接著將第二個(gè)編號(hào)“QLG752”填充1次,將第三個(gè)編號(hào) “RWR880”填充5次,……。

  可用數(shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充,在D2單元格輸入下面的數(shù)組公式后按Ctrl+Shift+Enter結(jié)束(下同),然后拖動(dòng)填充柄向下填充公式,直到最后一個(gè)編號(hào)按指定的次數(shù)全部出現(xiàn)為止。

  公式1:

  =OFFSET(A$1,MIN(IF(COUNTIF($D$1:D1,A$2:A$21)

  說(shuō)明:COUNTIF函數(shù)統(tǒng)計(jì)公式所在單元格以上區(qū)域中所產(chǎn)生的各個(gè)“編號(hào)”數(shù)量,將其與B列對(duì)應(yīng)次數(shù)進(jìn)行對(duì)比,如果未達(dá)到B列對(duì)應(yīng)次數(shù),則返回“編號(hào)” 相對(duì)A1單元格的偏移量,否則返回“FALSE”,這將得到一個(gè)包含“FALSE”和偏移量的數(shù)組。MIN函數(shù)取得最小值,即“編號(hào)”的偏移量,最后用 OFFSET函數(shù)返回“編號(hào)”。

  公式2:

  =INDEX(A$1:A$21,SMALL(IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21)),ROW(A1)))

  說(shuō)明:“IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21))”產(chǎn)生一個(gè)20行10列由FALSE和數(shù)字組成的數(shù)組(本例A列共 有20個(gè)數(shù)據(jù),最大重復(fù)次數(shù)為10),其中的數(shù)字為各“編號(hào)”對(duì)應(yīng)的行號(hào),且各數(shù)字的數(shù)量與B列的重復(fù)次數(shù)相同。如16行“BXQ763”對(duì)應(yīng)的“重復(fù)次 數(shù)”為3,數(shù)組中即包含3個(gè)“16”。“COLUMN($A:$J)”需根據(jù)B列的最大值進(jìn)行修改,例如“重復(fù)次數(shù)”中最大值為26,則改為 “COLUMN($A:$Z)”。

  公式3:

  =INDEX(A$2:A$21,MATCH(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21))),1))

  說(shuō)明:MATCH函數(shù)的第二個(gè)參數(shù)“SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21)))”,在本例中產(chǎn)生一個(gè)對(duì)B列數(shù)字進(jìn)行累 加的內(nèi)存數(shù)組“{0;2;3;8;10;13;22;29;31;37;44;46;56;59;69;72;75;85;94;97;99}”,第三個(gè) 參數(shù)為“1”,MATCH函數(shù)會(huì)查找小于或等于第一個(gè)參數(shù)的最大值,并返回其在數(shù)組中的相對(duì)位置,即A2:A21區(qū)域中的相對(duì)行號(hào)。例如對(duì)于D17單元 格,MATCH函數(shù)的第一個(gè)參數(shù)“ROW(A16)-1”返回15,數(shù)組中小于等于15的最大值為13,13處于數(shù)組中的第6個(gè)位置,MATCH函數(shù)返回 6,公式返回A2:A21區(qū)域中的第6行數(shù)據(jù),即編號(hào)“JGN347”。

  如果數(shù)據(jù)量較大,用下面的VBA代碼較為快捷。按Alt+F11,打開(kāi)VBA編輯器,在代碼窗口中粘貼下列代碼并運(yùn)行即可。

  Sub 按指定次數(shù)重復(fù)數(shù)據(jù)()

  Dim Rng, Arr()

  Dim i As Integer, j As Integer, k As Integer

  Dim LastRow As Integer, Total As Integer

  LastRow = [A65536].End(xlUp).Row

  Total = Application.WorksheetFunction.Sum(Range("B2:B" & LastRow))

  Rng = Range("A1:B" & LastRow)

  ReDim Arr(1 To Total, 1 To 1)

  For i = 2 To UBound(Rng, 1)

  For j = 1 To Rng(i, 2)

  k = k + 1

  Arr(k, 1) = Rng(i, 1)

  Next

  Next

  Range("D2").Resize(k, 1).Value = Arr

  End Sub
 

猜你喜歡:

1.Excel中實(shí)現(xiàn)循環(huán)的操作方法

2.Excel中進(jìn)行自動(dòng)遞增填充數(shù)列的操作方法

3.excel怎樣利用函數(shù)查詢重復(fù)次數(shù)

4.Excel表格中正確填充序列號(hào)的操作方法

5.Excel中進(jìn)行統(tǒng)計(jì)出現(xiàn)次數(shù)的操作方法

:A)

  說(shuō)明:COUNTIF函數(shù)統(tǒng)計(jì)公式所在單元格以上區(qū)域中所產(chǎn)生的各個(gè)“編號(hào)”數(shù)量,將其與B列對(duì)應(yīng)次數(shù)進(jìn)行對(duì)比,如果未達(dá)到B列對(duì)應(yīng)次數(shù),則返回“編號(hào)” 相對(duì)A1單元格的偏移量,否則返回“FALSE”,這將得到一個(gè)包含“FALSE”和偏移量的數(shù)組。MIN函數(shù)取得最小值,即“編號(hào)”的偏移量,最后用 OFFSET函數(shù)返回“編號(hào)”。

  公式2:

  =INDEX(A class="main">

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 工具軟件 > 辦公軟件學(xué)習(xí) > Excel教程 > Excel2007教程 > 在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

時(shí)間: 錦暉1117 分享
在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  在工作中有時(shí)需要將Excel某列中的數(shù)據(jù)按指定的次數(shù)依次重復(fù)填充到另一列??捎脭?shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充。以下是學(xué)習(xí)啦小編為您帶來(lái)的關(guān)于在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列,希望對(duì)您有所幫助。

  在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  例如在下圖的示例中,要將A列的編號(hào) 按B列對(duì)應(yīng)次數(shù)重復(fù)填充到D列,即首先將第一個(gè)編號(hào)“WOY756”在D列中填充2次,接著將第二個(gè)編號(hào)“QLG752”填充1次,將第三個(gè)編號(hào) “RWR880”填充5次,……。

  可用數(shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充,在D2單元格輸入下面的數(shù)組公式后按Ctrl+Shift+Enter結(jié)束(下同),然后拖動(dòng)填充柄向下填充公式,直到最后一個(gè)編號(hào)按指定的次數(shù)全部出現(xiàn)為止。

  公式1:

  =OFFSET(A$1,MIN(IF(COUNTIF($D$1:D1,A$2:A$21)

  說(shuō)明:COUNTIF函數(shù)統(tǒng)計(jì)公式所在單元格以上區(qū)域中所產(chǎn)生的各個(gè)“編號(hào)”數(shù)量,將其與B列對(duì)應(yīng)次數(shù)進(jìn)行對(duì)比,如果未達(dá)到B列對(duì)應(yīng)次數(shù),則返回“編號(hào)” 相對(duì)A1單元格的偏移量,否則返回“FALSE”,這將得到一個(gè)包含“FALSE”和偏移量的數(shù)組。MIN函數(shù)取得最小值,即“編號(hào)”的偏移量,最后用 OFFSET函數(shù)返回“編號(hào)”。

  公式2:

  =INDEX(A$1:A$21,SMALL(IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21)),ROW(A1)))

  說(shuō)明:“IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21))”產(chǎn)生一個(gè)20行10列由FALSE和數(shù)字組成的數(shù)組(本例A列共 有20個(gè)數(shù)據(jù),最大重復(fù)次數(shù)為10),其中的數(shù)字為各“編號(hào)”對(duì)應(yīng)的行號(hào),且各數(shù)字的數(shù)量與B列的重復(fù)次數(shù)相同。如16行“BXQ763”對(duì)應(yīng)的“重復(fù)次 數(shù)”為3,數(shù)組中即包含3個(gè)“16”。“COLUMN($A:$J)”需根據(jù)B列的最大值進(jìn)行修改,例如“重復(fù)次數(shù)”中最大值為26,則改為 “COLUMN($A:$Z)”。

  公式3:

  =INDEX(A$2:A$21,MATCH(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21))),1))

  說(shuō)明:MATCH函數(shù)的第二個(gè)參數(shù)“SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21)))”,在本例中產(chǎn)生一個(gè)對(duì)B列數(shù)字進(jìn)行累 加的內(nèi)存數(shù)組“{0;2;3;8;10;13;22;29;31;37;44;46;56;59;69;72;75;85;94;97;99}”,第三個(gè) 參數(shù)為“1”,MATCH函數(shù)會(huì)查找小于或等于第一個(gè)參數(shù)的最大值,并返回其在數(shù)組中的相對(duì)位置,即A2:A21區(qū)域中的相對(duì)行號(hào)。例如對(duì)于D17單元 格,MATCH函數(shù)的第一個(gè)參數(shù)“ROW(A16)-1”返回15,數(shù)組中小于等于15的最大值為13,13處于數(shù)組中的第6個(gè)位置,MATCH函數(shù)返回 6,公式返回A2:A21區(qū)域中的第6行數(shù)據(jù),即編號(hào)“JGN347”。

  如果數(shù)據(jù)量較大,用下面的VBA代碼較為快捷。按Alt+F11,打開(kāi)VBA編輯器,在代碼窗口中粘貼下列代碼并運(yùn)行即可。

  Sub 按指定次數(shù)重復(fù)數(shù)據(jù)()

  Dim Rng, Arr()

  Dim i As Integer, j As Integer, k As Integer

  Dim LastRow As Integer, Total As Integer

  LastRow = [A65536].End(xlUp).Row

  Total = Application.WorksheetFunction.Sum(Range("B2:B" & LastRow))

  Rng = Range("A1:B" & LastRow)

  ReDim Arr(1 To Total, 1 To 1)

  For i = 2 To UBound(Rng, 1)

  For j = 1 To Rng(i, 2)

  k = k + 1

  Arr(k, 1) = Rng(i, 1)

  Next

  Next

  Range("D2").Resize(k, 1).Value = Arr

  End Sub
 

猜你喜歡:

1.Excel中實(shí)現(xiàn)循環(huán)的操作方法

2.Excel中進(jìn)行自動(dòng)遞增填充數(shù)列的操作方法

3.excel怎樣利用函數(shù)查詢重復(fù)次數(shù)

4.Excel表格中正確填充序列號(hào)的操作方法

5.Excel中進(jìn)行統(tǒng)計(jì)出現(xiàn)次數(shù)的操作方法

:$B>=COLUMN($A:$J),ROW($B

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  在工作中有時(shí)需要將Excel某列中的數(shù)據(jù)按指定的次數(shù)依次重復(fù)填充到另一列??捎脭?shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充。以下是學(xué)習(xí)啦小編為您帶來(lái)的關(guān)于在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列,希望對(duì)您有所幫助。

  在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  例如在下圖的示例中,要將A列的編號(hào) 按B列對(duì)應(yīng)次數(shù)重復(fù)填充到D列,即首先將第一個(gè)編號(hào)“WOY756”在D列中填充2次,接著將第二個(gè)編號(hào)“QLG752”填充1次,將第三個(gè)編號(hào) “RWR880”填充5次,……。

  可用數(shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充,在D2單元格輸入下面的數(shù)組公式后按Ctrl+Shift+Enter結(jié)束(下同),然后拖動(dòng)填充柄向下填充公式,直到最后一個(gè)編號(hào)按指定的次數(shù)全部出現(xiàn)為止。

  公式1:

  =OFFSET(A$1,MIN(IF(COUNTIF($D$1:D1,A$2:A$21)

  說(shuō)明:COUNTIF函數(shù)統(tǒng)計(jì)公式所在單元格以上區(qū)域中所產(chǎn)生的各個(gè)“編號(hào)”數(shù)量,將其與B列對(duì)應(yīng)次數(shù)進(jìn)行對(duì)比,如果未達(dá)到B列對(duì)應(yīng)次數(shù),則返回“編號(hào)” 相對(duì)A1單元格的偏移量,否則返回“FALSE”,這將得到一個(gè)包含“FALSE”和偏移量的數(shù)組。MIN函數(shù)取得最小值,即“編號(hào)”的偏移量,最后用 OFFSET函數(shù)返回“編號(hào)”。

  公式2:

  =INDEX(A$1:A$21,SMALL(IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21)),ROW(A1)))

  說(shuō)明:“IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21))”產(chǎn)生一個(gè)20行10列由FALSE和數(shù)字組成的數(shù)組(本例A列共 有20個(gè)數(shù)據(jù),最大重復(fù)次數(shù)為10),其中的數(shù)字為各“編號(hào)”對(duì)應(yīng)的行號(hào),且各數(shù)字的數(shù)量與B列的重復(fù)次數(shù)相同。如16行“BXQ763”對(duì)應(yīng)的“重復(fù)次 數(shù)”為3,數(shù)組中即包含3個(gè)“16”。“COLUMN($A:$J)”需根據(jù)B列的最大值進(jìn)行修改,例如“重復(fù)次數(shù)”中最大值為26,則改為 “COLUMN($A:$Z)”。

  公式3:

  =INDEX(A$2:A$21,MATCH(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21))),1))

  說(shuō)明:MATCH函數(shù)的第二個(gè)參數(shù)“SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21)))”,在本例中產(chǎn)生一個(gè)對(duì)B列數(shù)字進(jìn)行累 加的內(nèi)存數(shù)組“{0;2;3;8;10;13;22;29;31;37;44;46;56;59;69;72;75;85;94;97;99}”,第三個(gè) 參數(shù)為“1”,MATCH函數(shù)會(huì)查找小于或等于第一個(gè)參數(shù)的最大值,并返回其在數(shù)組中的相對(duì)位置,即A2:A21區(qū)域中的相對(duì)行號(hào)。例如對(duì)于D17單元 格,MATCH函數(shù)的第一個(gè)參數(shù)“ROW(A16)-1”返回15,數(shù)組中小于等于15的最大值為13,13處于數(shù)組中的第6個(gè)位置,MATCH函數(shù)返回 6,公式返回A2:A21區(qū)域中的第6行數(shù)據(jù),即編號(hào)“JGN347”。

  如果數(shù)據(jù)量較大,用下面的VBA代碼較為快捷。按Alt+F11,打開(kāi)VBA編輯器,在代碼窗口中粘貼下列代碼并運(yùn)行即可。

  Sub 按指定次數(shù)重復(fù)數(shù)據(jù)()

  Dim Rng, Arr()

  Dim i As Integer, j As Integer, k As Integer

  Dim LastRow As Integer, Total As Integer

  LastRow = [A65536].End(xlUp).Row

  Total = Application.WorksheetFunction.Sum(Range("B2:B" & LastRow))

  Rng = Range("A1:B" & LastRow)

  ReDim Arr(1 To Total, 1 To 1)

  For i = 2 To UBound(Rng, 1)

  For j = 1 To Rng(i, 2)

  k = k + 1

  Arr(k, 1) = Rng(i, 1)

  Next

  Next

  Range("D2").Resize(k, 1).Value = Arr

  End Sub
 

猜你喜歡:

1.Excel中實(shí)現(xiàn)循環(huán)的操作方法

2.Excel中進(jìn)行自動(dòng)遞增填充數(shù)列的操作方法

3.excel怎樣利用函數(shù)查詢重復(fù)次數(shù)

4.Excel表格中正確填充序列號(hào)的操作方法

5.Excel中進(jìn)行統(tǒng)計(jì)出現(xiàn)次數(shù)的操作方法

:$B)),ROW(A1)))

  說(shuō)明:“IF($B

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  在工作中有時(shí)需要將Excel某列中的數(shù)據(jù)按指定的次數(shù)依次重復(fù)填充到另一列??捎脭?shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充。以下是學(xué)習(xí)啦小編為您帶來(lái)的關(guān)于在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列,希望對(duì)您有所幫助。

  在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  例如在下圖的示例中,要將A列的編號(hào) 按B列對(duì)應(yīng)次數(shù)重復(fù)填充到D列,即首先將第一個(gè)編號(hào)“WOY756”在D列中填充2次,接著將第二個(gè)編號(hào)“QLG752”填充1次,將第三個(gè)編號(hào) “RWR880”填充5次,……。

  可用數(shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充,在D2單元格輸入下面的數(shù)組公式后按Ctrl+Shift+Enter結(jié)束(下同),然后拖動(dòng)填充柄向下填充公式,直到最后一個(gè)編號(hào)按指定的次數(shù)全部出現(xiàn)為止。

  公式1:

  =OFFSET(A$1,MIN(IF(COUNTIF($D$1:D1,A$2:A$21)

  說(shuō)明:COUNTIF函數(shù)統(tǒng)計(jì)公式所在單元格以上區(qū)域中所產(chǎn)生的各個(gè)“編號(hào)”數(shù)量,將其與B列對(duì)應(yīng)次數(shù)進(jìn)行對(duì)比,如果未達(dá)到B列對(duì)應(yīng)次數(shù),則返回“編號(hào)” 相對(duì)A1單元格的偏移量,否則返回“FALSE”,這將得到一個(gè)包含“FALSE”和偏移量的數(shù)組。MIN函數(shù)取得最小值,即“編號(hào)”的偏移量,最后用 OFFSET函數(shù)返回“編號(hào)”。

  公式2:

  =INDEX(A$1:A$21,SMALL(IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21)),ROW(A1)))

  說(shuō)明:“IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21))”產(chǎn)生一個(gè)20行10列由FALSE和數(shù)字組成的數(shù)組(本例A列共 有20個(gè)數(shù)據(jù),最大重復(fù)次數(shù)為10),其中的數(shù)字為各“編號(hào)”對(duì)應(yīng)的行號(hào),且各數(shù)字的數(shù)量與B列的重復(fù)次數(shù)相同。如16行“BXQ763”對(duì)應(yīng)的“重復(fù)次 數(shù)”為3,數(shù)組中即包含3個(gè)“16”。“COLUMN($A:$J)”需根據(jù)B列的最大值進(jìn)行修改,例如“重復(fù)次數(shù)”中最大值為26,則改為 “COLUMN($A:$Z)”。

  公式3:

  =INDEX(A$2:A$21,MATCH(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21))),1))

  說(shuō)明:MATCH函數(shù)的第二個(gè)參數(shù)“SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21)))”,在本例中產(chǎn)生一個(gè)對(duì)B列數(shù)字進(jìn)行累 加的內(nèi)存數(shù)組“{0;2;3;8;10;13;22;29;31;37;44;46;56;59;69;72;75;85;94;97;99}”,第三個(gè) 參數(shù)為“1”,MATCH函數(shù)會(huì)查找小于或等于第一個(gè)參數(shù)的最大值,并返回其在數(shù)組中的相對(duì)位置,即A2:A21區(qū)域中的相對(duì)行號(hào)。例如對(duì)于D17單元 格,MATCH函數(shù)的第一個(gè)參數(shù)“ROW(A16)-1”返回15,數(shù)組中小于等于15的最大值為13,13處于數(shù)組中的第6個(gè)位置,MATCH函數(shù)返回 6,公式返回A2:A21區(qū)域中的第6行數(shù)據(jù),即編號(hào)“JGN347”。

  如果數(shù)據(jù)量較大,用下面的VBA代碼較為快捷。按Alt+F11,打開(kāi)VBA編輯器,在代碼窗口中粘貼下列代碼并運(yùn)行即可。

  Sub 按指定次數(shù)重復(fù)數(shù)據(jù)()

  Dim Rng, Arr()

  Dim i As Integer, j As Integer, k As Integer

  Dim LastRow As Integer, Total As Integer

  LastRow = [A65536].End(xlUp).Row

  Total = Application.WorksheetFunction.Sum(Range("B2:B" & LastRow))

  Rng = Range("A1:B" & LastRow)

  ReDim Arr(1 To Total, 1 To 1)

  For i = 2 To UBound(Rng, 1)

  For j = 1 To Rng(i, 2)

  k = k + 1

  Arr(k, 1) = Rng(i, 1)

  Next

  Next

  Range("D2").Resize(k, 1).Value = Arr

  End Sub
 

猜你喜歡:

1.Excel中實(shí)現(xiàn)循環(huán)的操作方法

2.Excel中進(jìn)行自動(dòng)遞增填充數(shù)列的操作方法

3.excel怎樣利用函數(shù)查詢重復(fù)次數(shù)

4.Excel表格中正確填充序列號(hào)的操作方法

5.Excel中進(jìn)行統(tǒng)計(jì)出現(xiàn)次數(shù)的操作方法

:$B>=COLUMN($A:$J),ROW($B

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  在工作中有時(shí)需要將Excel某列中的數(shù)據(jù)按指定的次數(shù)依次重復(fù)填充到另一列??捎脭?shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充。以下是學(xué)習(xí)啦小編為您帶來(lái)的關(guān)于在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列,希望對(duì)您有所幫助。

  在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  例如在下圖的示例中,要將A列的編號(hào) 按B列對(duì)應(yīng)次數(shù)重復(fù)填充到D列,即首先將第一個(gè)編號(hào)“WOY756”在D列中填充2次,接著將第二個(gè)編號(hào)“QLG752”填充1次,將第三個(gè)編號(hào) “RWR880”填充5次,……。

  可用數(shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充,在D2單元格輸入下面的數(shù)組公式后按Ctrl+Shift+Enter結(jié)束(下同),然后拖動(dòng)填充柄向下填充公式,直到最后一個(gè)編號(hào)按指定的次數(shù)全部出現(xiàn)為止。

  公式1:

  =OFFSET(A$1,MIN(IF(COUNTIF($D$1:D1,A$2:A$21)

  說(shuō)明:COUNTIF函數(shù)統(tǒng)計(jì)公式所在單元格以上區(qū)域中所產(chǎn)生的各個(gè)“編號(hào)”數(shù)量,將其與B列對(duì)應(yīng)次數(shù)進(jìn)行對(duì)比,如果未達(dá)到B列對(duì)應(yīng)次數(shù),則返回“編號(hào)” 相對(duì)A1單元格的偏移量,否則返回“FALSE”,這將得到一個(gè)包含“FALSE”和偏移量的數(shù)組。MIN函數(shù)取得最小值,即“編號(hào)”的偏移量,最后用 OFFSET函數(shù)返回“編號(hào)”。

  公式2:

  =INDEX(A$1:A$21,SMALL(IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21)),ROW(A1)))

  說(shuō)明:“IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21))”產(chǎn)生一個(gè)20行10列由FALSE和數(shù)字組成的數(shù)組(本例A列共 有20個(gè)數(shù)據(jù),最大重復(fù)次數(shù)為10),其中的數(shù)字為各“編號(hào)”對(duì)應(yīng)的行號(hào),且各數(shù)字的數(shù)量與B列的重復(fù)次數(shù)相同。如16行“BXQ763”對(duì)應(yīng)的“重復(fù)次 數(shù)”為3,數(shù)組中即包含3個(gè)“16”。“COLUMN($A:$J)”需根據(jù)B列的最大值進(jìn)行修改,例如“重復(fù)次數(shù)”中最大值為26,則改為 “COLUMN($A:$Z)”。

  公式3:

  =INDEX(A$2:A$21,MATCH(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21))),1))

  說(shuō)明:MATCH函數(shù)的第二個(gè)參數(shù)“SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21)))”,在本例中產(chǎn)生一個(gè)對(duì)B列數(shù)字進(jìn)行累 加的內(nèi)存數(shù)組“{0;2;3;8;10;13;22;29;31;37;44;46;56;59;69;72;75;85;94;97;99}”,第三個(gè) 參數(shù)為“1”,MATCH函數(shù)會(huì)查找小于或等于第一個(gè)參數(shù)的最大值,并返回其在數(shù)組中的相對(duì)位置,即A2:A21區(qū)域中的相對(duì)行號(hào)。例如對(duì)于D17單元 格,MATCH函數(shù)的第一個(gè)參數(shù)“ROW(A16)-1”返回15,數(shù)組中小于等于15的最大值為13,13處于數(shù)組中的第6個(gè)位置,MATCH函數(shù)返回 6,公式返回A2:A21區(qū)域中的第6行數(shù)據(jù),即編號(hào)“JGN347”。

  如果數(shù)據(jù)量較大,用下面的VBA代碼較為快捷。按Alt+F11,打開(kāi)VBA編輯器,在代碼窗口中粘貼下列代碼并運(yùn)行即可。

  Sub 按指定次數(shù)重復(fù)數(shù)據(jù)()

  Dim Rng, Arr()

  Dim i As Integer, j As Integer, k As Integer

  Dim LastRow As Integer, Total As Integer

  LastRow = [A65536].End(xlUp).Row

  Total = Application.WorksheetFunction.Sum(Range("B2:B" & LastRow))

  Rng = Range("A1:B" & LastRow)

  ReDim Arr(1 To Total, 1 To 1)

  For i = 2 To UBound(Rng, 1)

  For j = 1 To Rng(i, 2)

  k = k + 1

  Arr(k, 1) = Rng(i, 1)

  Next

  Next

  Range("D2").Resize(k, 1).Value = Arr

  End Sub
 

猜你喜歡:

1.Excel中實(shí)現(xiàn)循環(huán)的操作方法

2.Excel中進(jìn)行自動(dòng)遞增填充數(shù)列的操作方法

3.excel怎樣利用函數(shù)查詢重復(fù)次數(shù)

4.Excel表格中正確填充序列號(hào)的操作方法

5.Excel中進(jìn)行統(tǒng)計(jì)出現(xiàn)次數(shù)的操作方法

:$B))”產(chǎn)生一個(gè)20行10列由FALSE和數(shù)字組成的數(shù)組(本例A列共 有20個(gè)數(shù)據(jù),最大重復(fù)次數(shù)為10),其中的數(shù)字為各“編號(hào)”對(duì)應(yīng)的行號(hào),且各數(shù)字的數(shù)量與B列的重復(fù)次數(shù)相同。如16行“BXQ763”對(duì)應(yīng)的“重復(fù)次 數(shù)”為3,數(shù)組中即包含3個(gè)“16”。“COLUMN($A:$J)”需根據(jù)B列的最大值進(jìn)行修改,例如“重復(fù)次數(shù)”中最大值為26,則改為 “COLUMN($A:$Z)”。

  公式3:

  =INDEX(A

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  在工作中有時(shí)需要將Excel某列中的數(shù)據(jù)按指定的次數(shù)依次重復(fù)填充到另一列??捎脭?shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充。以下是學(xué)習(xí)啦小編為您帶來(lái)的關(guān)于在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列,希望對(duì)您有所幫助。

  在Excel中按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

  例如在下圖的示例中,要將A列的編號(hào) 按B列對(duì)應(yīng)次數(shù)重復(fù)填充到D列,即首先將第一個(gè)編號(hào)“WOY756”在D列中填充2次,接著將第二個(gè)編號(hào)“QLG752”填充1次,將第三個(gè)編號(hào) “RWR880”填充5次,……。

  可用數(shù)組公式或VBA來(lái)實(shí)現(xiàn)這樣的填充,在D2單元格輸入下面的數(shù)組公式后按Ctrl+Shift+Enter結(jié)束(下同),然后拖動(dòng)填充柄向下填充公式,直到最后一個(gè)編號(hào)按指定的次數(shù)全部出現(xiàn)為止。

  公式1:

  =OFFSET(A$1,MIN(IF(COUNTIF($D$1:D1,A$2:A$21)

  說(shuō)明:COUNTIF函數(shù)統(tǒng)計(jì)公式所在單元格以上區(qū)域中所產(chǎn)生的各個(gè)“編號(hào)”數(shù)量,將其與B列對(duì)應(yīng)次數(shù)進(jìn)行對(duì)比,如果未達(dá)到B列對(duì)應(yīng)次數(shù),則返回“編號(hào)” 相對(duì)A1單元格的偏移量,否則返回“FALSE”,這將得到一個(gè)包含“FALSE”和偏移量的數(shù)組。MIN函數(shù)取得最小值,即“編號(hào)”的偏移量,最后用 OFFSET函數(shù)返回“編號(hào)”。

  公式2:

  =INDEX(A$1:A$21,SMALL(IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21)),ROW(A1)))

  說(shuō)明:“IF($B$2:$B$21>=COLUMN($A:$J),ROW($B$2:$B$21))”產(chǎn)生一個(gè)20行10列由FALSE和數(shù)字組成的數(shù)組(本例A列共 有20個(gè)數(shù)據(jù),最大重復(fù)次數(shù)為10),其中的數(shù)字為各“編號(hào)”對(duì)應(yīng)的行號(hào),且各數(shù)字的數(shù)量與B列的重復(fù)次數(shù)相同。如16行“BXQ763”對(duì)應(yīng)的“重復(fù)次 數(shù)”為3,數(shù)組中即包含3個(gè)“16”。“COLUMN($A:$J)”需根據(jù)B列的最大值進(jìn)行修改,例如“重復(fù)次數(shù)”中最大值為26,則改為 “COLUMN($A:$Z)”。

  公式3:

  =INDEX(A$2:A$21,MATCH(ROW(A1)-1,SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21))),1))

  說(shuō)明:MATCH函數(shù)的第二個(gè)參數(shù)“SUBTOTAL(9,OFFSET(B$1,,,ROW($1:$21)))”,在本例中產(chǎn)生一個(gè)對(duì)B列數(shù)字進(jìn)行累 加的內(nèi)存數(shù)組“{0;2;3;8;10;13;22;29;31;37;44;46;56;59;69;72;75;85;94;97;99}”,第三個(gè) 參數(shù)為“1”,MATCH函數(shù)會(huì)查找小于或等于第一個(gè)參數(shù)的最大值,并返回其在數(shù)組中的相對(duì)位置,即A2:A21區(qū)域中的相對(duì)行號(hào)。例如對(duì)于D17單元 格,MATCH函數(shù)的第一個(gè)參數(shù)“ROW(A16)-1”返回15,數(shù)組中小于等于15的最大值為13,13處于數(shù)組中的第6個(gè)位置,MATCH函數(shù)返回 6,公式返回A2:A21區(qū)域中的第6行數(shù)據(jù),即編號(hào)“JGN347”。

  如果數(shù)據(jù)量較大,用下面的VBA代碼較為快捷。按Alt+F11,打開(kāi)VBA編輯器,在代碼窗口中粘貼下列代碼并運(yùn)行即可。

  Sub 按指定次數(shù)重復(fù)數(shù)據(jù)()

  Dim Rng, Arr()

  Dim i As Integer, j As Integer, k As Integer

  Dim LastRow As Integer, Total As Integer

  LastRow = [A65536].End(xlUp).Row

  Total = Application.WorksheetFunction.Sum(Range("B2:B" & LastRow))

  Rng = Range("A1:B" & LastRow)

  ReDim Arr(1 To Total, 1 To 1)

  For i = 2 To UBound(Rng, 1)

  For j = 1 To Rng(i, 2)

  k = k + 1

  Arr(k, 1) = Rng(i, 1)

  Next

  Next

  Range("D2").Resize(k, 1).Value = Arr

  End Sub
 

猜你喜歡:

1.Excel中實(shí)現(xiàn)循環(huán)的操作方法

2.Excel中進(jìn)行自動(dòng)遞增填充數(shù)列的操作方法

3.excel怎樣利用函數(shù)查詢重復(fù)次數(shù)

4.Excel表格中正確填充序列號(hào)的操作方法

5.Excel中進(jìn)行統(tǒng)計(jì)出現(xiàn)次數(shù)的操作方法

:A,MATCH(ROW(A1)-1,SUBTOTAL(9,OFFSET(B class="main">
學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 工具軟件 > 辦公軟件學(xué)習(xí) > Excel教程 > Excel2007教程 > 在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

時(shí)間: 錦暉1117 分享
學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 工具軟件 > 辦公軟件學(xué)習(xí) > Excel教程 > Excel2007教程 > 在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

時(shí)間: 錦暉1117 分享

  說(shuō)明:MATCH函數(shù)的第二個(gè)參數(shù)“SUBTOTAL(9,OFFSET(B class="main">

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 工具軟件 > 辦公軟件學(xué)習(xí) > Excel教程 > Excel2007教程 > 在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

時(shí)間: 錦暉1117 分享
學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 工具軟件 > 辦公軟件學(xué)習(xí) > Excel教程 > Excel2007教程 > 在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

在Excel中怎么按指定的重復(fù)次數(shù)填充數(shù)據(jù)到一列

時(shí)間: 錦暉1117 分享

  如果數(shù)據(jù)量較大,用下面的VBA代碼較為快捷。按Alt+F11,打開(kāi)VBA編輯器,在代碼窗口中粘貼下列代碼并運(yùn)行即可。

  Sub 按指定次數(shù)重復(fù)數(shù)據(jù)()

  Dim Rng, Arr()

  Dim i As Integer, j As Integer, k As Integer

  Dim LastRow As Integer, Total As Integer

  LastRow = [A65536].End(xlUp).Row

  Total = Application.WorksheetFunction.Sum(Range("B2:B" & LastRow))

  Rng = Range("A1:B" & LastRow)

  ReDim Arr(1 To Total, 1 To 1)

  For i = 2 To UBound(Rng, 1)

  For j = 1 To Rng(i, 2)

  k = k + 1

  Arr(k, 1) = Rng(i, 1)

  Next

  Next

  Range("D2").Resize(k, 1).Value = Arr

  End Sub

猜你喜歡:

1.Excel中實(shí)現(xiàn)循環(huán)的操作方法

2.Excel中進(jìn)行自動(dòng)遞增填充數(shù)列的操作方法

3.excel怎樣利用函數(shù)查詢重復(fù)次數(shù)

4.Excel表格中正確填充序列號(hào)的操作方法

5.Excel中進(jìn)行統(tǒng)計(jì)出現(xiàn)次數(shù)的操作方法

3741189