Forum Discussion

Tesy's avatar
Tesy
Icon for Helper I rankHelper I
1 year ago
Solved

Agregar condiciones en código

Hola, Me ayudaron a hacer el siguiente codigo:

Horas =
VAR HorasPos = IFERROR(SEARCH("Horas de participación", sheet1[Respuesta del formulario]), 0)
VAR EvalPos = IFERROR(SEARCH(";Evaluación", sheet1[Respuesta del formulario]), 0)
VAR IsPatternFound = (HorasPos > 0) && (EvalPos > HorasPos + 26)
VAR ExtractedText =
IF(
IsPatternFound,
MID(sheet1[Respuesta del formulario], HorasPos + 26, EvalPos - (HorasPos + 26)),
BLANK()
)
RETURN
IF(IsPatternFound, VALUE(ExtractedText), BLANK())

_______________________________________________________________________________________________________________________________________

pero necesito agregar 2 variantes, me pueden ayudar en corregir la estructura?

Horas =
VAR HorasPos = IFERROR(SEARCH("Horas de participación", sheet1[Respuesta del formulario]), 0)
VAR EvalPos = IFERROR(SEARCH(";Evaluación global", sheet1[Respuesta del formulario]), 0)
VAR NumPos = IFERROR(SEARCH("Número de horas", sheet1[Respuesta del formulario]), 0)
VAR Fini = IFERROR(SEARCH(";Fecha de inicio",sheet1[Respuesta del formulario]), 0)
VAR IsPatternFound = (HorasPos > 0) && (EvalPos > HorasPos + 26) && (NumPos > 0) && (Fini > NumPos + 19)
VAR ExtractedText =
IF(
IsPatternFound,
MID(sheet1[Respuesta del formulario], HorasPos + 26, EvalPos - (HorasPos + 26)),
IF(
MID(sheet1[Respuesta del formulario], NumPos + 19, Fini - (NumPos + 19)),
BLANK()
))
RETURN
IF(IsPatternFound, VALUE(ExtractedText), BLANK())

 

Lo corró y no me marca error, pero no me arroja datos 😞

  • Hi Tesy  - Let's correct it and adjust the structure so that it works correctly

    Horas =
    VAR HorasPos = IFERROR(SEARCH("Horas de participación", sheet1[Respuesta del formulario]), 0)
    VAR EvalPos = IFERROR(SEARCH(";Evaluación global", sheet1[Respuesta del formulario]), 0)
    VAR NumPos = IFERROR(SEARCH("Número de horas", sheet1[Respuesta del formulario]), 0)
    VAR Fini = IFERROR(SEARCH(";Fecha de inicio", sheet1[Respuesta del formulario]), 0)

    -- Verifica si se encuentra el primer patrón (HorasPos y EvalPos)
    VAR IsPattern1Found = (HorasPos > 0) && (EvalPos > HorasPos + 26)

    -- Verifica si se encuentra el segundo patrón (NumPos y Fini)
    VAR IsPattern2Found = (NumPos > 0) && (Fini > NumPos + 19)

    -- Extrae el texto según el patrón encontrado
    VAR ExtractedText =
    IF(
    IsPattern1Found,
    MID(sheet1[Respuesta del formulario], HorasPos + 26, EvalPos - (HorasPos + 26)),
    IF(
    IsPattern2Found,
    MID(sheet1[Respuesta del formulario], NumPos + 19, Fini - (NumPos + 19)),
    BLANK()
    )
    )

    -- Devuelve el valor extraído si se encuentra un patrón válido
    RETURN
    IF(
    IsPattern1Found || IsPattern2Found,
    VALUE(ExtractedText),
    BLANK()
    )

     

    Please check the above logic and Hope it works

2 Replies

  • Hi Tesy  - Let's correct it and adjust the structure so that it works correctly

    Horas =
    VAR HorasPos = IFERROR(SEARCH("Horas de participación", sheet1[Respuesta del formulario]), 0)
    VAR EvalPos = IFERROR(SEARCH(";Evaluación global", sheet1[Respuesta del formulario]), 0)
    VAR NumPos = IFERROR(SEARCH("Número de horas", sheet1[Respuesta del formulario]), 0)
    VAR Fini = IFERROR(SEARCH(";Fecha de inicio", sheet1[Respuesta del formulario]), 0)

    -- Verifica si se encuentra el primer patrón (HorasPos y EvalPos)
    VAR IsPattern1Found = (HorasPos > 0) && (EvalPos > HorasPos + 26)

    -- Verifica si se encuentra el segundo patrón (NumPos y Fini)
    VAR IsPattern2Found = (NumPos > 0) && (Fini > NumPos + 19)

    -- Extrae el texto según el patrón encontrado
    VAR ExtractedText =
    IF(
    IsPattern1Found,
    MID(sheet1[Respuesta del formulario], HorasPos + 26, EvalPos - (HorasPos + 26)),
    IF(
    IsPattern2Found,
    MID(sheet1[Respuesta del formulario], NumPos + 19, Fini - (NumPos + 19)),
    BLANK()
    )
    )

    -- Devuelve el valor extraído si se encuentra un patrón válido
    RETURN
    IF(
    IsPattern1Found || IsPattern2Found,
    VALUE(ExtractedText),
    BLANK()
    )

     

    Please check the above logic and Hope it works

    • Tesy's avatar
      Tesy
      Icon for Helper I rankHelper I

      It worked!

      Thank you so much, so much!!