輸入兩列中的數字以及第三列之間的數字

輸入兩列中的數字以及第三列之間的數字

目前,我的表結構如下: 在此輸入影像描述

我嘗試選擇該系列的兩個欄位並將其向下拖曳以進行自動填充,但似乎不起作用。我需要像下面這樣的東西。有沒有辦法用 Excel、Google Sheets 或其他東西來做到這一點?

在此輸入影像描述

答案1

如果您有最新版本的 Excel,請在E2輸入數組公式:

=TEXTJOIN(",",TRUE,ROW(INDIRECT(C2 & ":" & D2)))

並抄下:

在此輸入影像描述

數組公式Ctrl必須使用+ Shift+輸入,Enter而不僅僅是按鍵Enter

否則,在標準模組中輸入以下使用者定義函數:

Public Function CSList(n1 As Long, n2 As Long) As String
    Dim i As Long
    For i = n1 To n2
        CSList = CSList & "," & i
    Next i
    CSList = Mid(CSList, 2)
End Function

然後在E2進入:

=CSList(C2,D2)

並抄下:

在此輸入影像描述

使用者定義函數 (UDF) 非常易於安裝和使用:

  1. ALT-F11 調出 VBE 窗口
  2. ALT-I ALT-M 開啟新模組
  3. 將內容貼進去並關閉 VBE 窗口

如果儲存工作簿,UDF 將隨之儲存。如果您使用的是 2003 年以後的 Excel 版本,則必須將檔案儲存為.xlsm而不是.xlsx

若要刪除 UDF:

  1. 如上所示調出 VBE 窗口
  2. 清除程式碼
  3. 關閉VBE視窗

若要使用 Excel 中的 UDF:

=CSList(A1,B1)

要了解有關巨集的更多信息,請參閱:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

有關 UDF 的詳細信息,請參閱:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

必須啟用巨集才能使其工作!

答案2

雖然上面的解決方案對我使用 Excel 有效,但我後來能夠在 Google 試算表中解決這個問題。我在這裡為那些可能無法訪問 Ms Excel 的人添加這個答案。

腳步:

  1. 前往“工具”選單並點擊“腳本編輯器...”
  2. 在打開的程式碼檔案中貼上下面給出的程式碼並儲存。

    function range2series(input) {
    
      try {
    
         var r = input.split("-");
         var exist = r[1];
    
         //get the start and stop value
         var start = r[0];
         var last  = r[1];
         var current = start;
         var output = "";
    
         while (current <= last) {
           output += current;     
           output += ",";
           current++;                     
         }  
    
         //remove the last comma.
          output = output.substring(0, output.length - 1);
          return output;
    
        } catch(err) {
           //if single value and not range send back the input.
           return input; 
        }  
    
    
    
    }
    

現在您可以將該功能與 Google 試算表一起使用。=range2series(CELL)例如,只需單擊一列並輸入即可range2series(D4)

更多細節,參考

相關內容