Recuperar fórmulas dentro de la función de concatenar de Excel

Recuperar fórmulas dentro de la función de concatenar de Excel

Quiero analizar una declaración de concatenación de Excel para encontrar el resultado de la expresión adjunta. Por ejemplo: =CONCAT("=1-2-3+7*8")debería devolver 52 y =CONCAT("=AVERAGE(A1,A2)")debería devolver el promedio de los dos campos. ¿Existe alguna función o alguna otra forma de lograr esto en Excel?

Respuesta1

Pruebe la siguiente función definida por el usuario:

Public Function raghav(rng As Range) As Variant
    Dim s As String

    s = Mid(rng(1).Formula, 2)
    arr = Split(s, Chr(34))
    For Each a In arr
        If Left(a, 1) = "=" Then
            raghav = Evaluate(a)
            Exit Function
        End If
    Next a
End Function

ingrese la descripción de la imagen aquí

Las funciones definidas por el usuario (UDF) son muy fáciles deinstalary use:

  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 .xlsm en lugar de .xlsx.

Aeliminarla UDF:

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

Ausarla UDF de Excel:

=raghav(A1)

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!

información relacionada