Ingrese los números de dos columnas y los números intermedios en una tercera columna

Ingrese los números de dos columnas y los números intermedios en una tercera columna

Actualmente, tengo una estructura de tabla como la siguiente: ingrese la descripción de la imagen aquí

Intenté seleccionar dos columnas con la serie y arrastrarlas hacia abajo para autocompletar, pero no pareció funcionar. Necesito algo como a continuación. ¿Hay alguna forma de hacer esto con Excel, Google Sheets o algo así?

ingrese la descripción de la imagen aquí

Respuesta1

Si tiene una versión reciente de Excel, enE2introducir elfórmula matricial:

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

y copie:

ingrese la descripción de la imagen aquí

Fórmulas de matrizdebe ingresarse con Ctrl+ Shift+ Enteren lugar de solo la Enterclave.

De lo contrario, ingrese la siguiente función definida por el usuario en un módulo estándar:

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

Luego enE2ingresar:

=CSList(C2,D2)

y copie:

ingrese la descripción de la imagen aquí

Las funciones definidas por el usuario (UDF) son muy fáciles de instalar y utilizar:

  1. ALT-F11 abre la ventana VBE
  2. ALT-I ALT-M abre un módulo nuevo
  3. pegue las cosas y cierre la ventana de VBE

Si guarda el libro de trabajo, la UDF se guardará con él. Si está utilizando una versión de Excel posterior a 2003, debe guardar el archivo como.xlsmen vez de.xlsx

Para eliminar la UDF:

  1. abrir la ventana VBE como arriba
  2. borrar el código
  3. cerrar la ventana VBE

Para utilizar la UDF desde Excel:

=CSList(A1,B1)

Para obtener más información sobre las macros en general, consulte:

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

y

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

y para obtener detalles sobre las UDF, consulte:

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

¡Las macros deben estar habilitadas para que esto funcione!

Respuesta2

Aunque la solución anterior funcionó para mí usando Ms Excel, luego pude resolver esto en Google Sheets. Estoy agregando esta respuesta aquí para aquellos que no tengan acceso a Ms Excel.

Pasos:

  1. Vaya al menú 'Herramientas' y haga clic en 'Editor de scripts...'
  2. En el archivo de código abierto, pegue el código que se proporciona a continuación y guárdelo.

    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; 
        }  
    
    
    
    }
    

Ahora puedes utilizar la función con las hojas de Google. Simplemente haga clic en una columna y escriba =range2series(CELL), por ejemplo range2series(D4).

Para más detalles,referirse.

información relacionada