Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
HiramRivera
Regular Visitor

Como escribir esta formula de excel?

Esta formula me da el año de mi enfriador dependiendo del numero de serie. Las variantes son: Largo de la serie, con que numeros empieza, etc. Espero puedan ayudarme

 

=SI(ESBLANCO(B2),"",SI.ERROR(SI(B2="S/E","S/E",SI(Y(ESTEXTO(IZQUIERDA(B2,1)),LARGO(B2)=12,EXTRAE(B2,4,2)*1=22),2022,SI(Y(LARGO(B2)=13,IZQUIERDA(B2,2)*1=15),2015,SI(Y(LARGO(B2)=12,IZQUIERDA(B2,2)*1=15),2015,SI(Y(LARGO(B2)=9,IZQUIERDA(B2,2)*1=15),2015,SI(Y(LARGO(B2)=13,IZQUIERDA(B2,2)*1=16),2016,SI(Y(LARGO(B2)=12,IZQUIERDA(B2,2)*1=16),2016,SI(Y(LARGO(B2)=13,IZQUIERDA(B2,2)*1=17),2017,SI(Y(LARGO(B2)=12,IZQUIERDA(B2,2)*1=17),2017,SI(Y(O(LARGO(B2)=14,LARGO(B2)=15),IZQUIERDA(B2,3)*1=617),2017,SI(Y(LARGO(B2)=9,EXTRAE(B2,2,2)*1=17),2017,SI(Y(O(LARGO(B2)=12,LARGO(B2)=13),IZQUIERDA(B2,2)*1=18),2018,SI(Y(O(LARGO(B2)=11,LARGO(B2)=12,LARGO(B2)=13),IZQUIERDA(B2,2)*1=19),2019,SI(Y(LARGO(B2)=13,IZQUIERDA(B2,2)*1=20),2020,SI(Y(LARGO(B2)=13,IZQUIERDA(B2,2)*1=21),2021,SI(Y(LARGO(B2)=13,IZQUIERDA(B2,2)*1=22),2022,SI(Y(LARGO(B2)=13,IZQUIERDA(B2,2)*1=23),2023,"<2015"))))))))))))))))),"<2015"))

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@Syndicate_Admin ,
¿Puede compartir datos de muestra y salida de muestra en formato de tabla? O un pbix de muestra después de eliminar datos confidenciales.

asi es como lo puse en DAX pero me da un error:
Las expresiones que producen tipos de datos Variant no se pueden usar para definir columnas calculadas.

AÑO_EMFRIADOR =
IF(ISBLANK([SERIE]),"",
IFERROR(
    IF([SERIE]="S/E","S/E"
    ,IF(AND(ISTEXT(LEFT([SERIE],1)),AND(LEN([SERIE])*1=12,MID([SERIE],4,2)*1=22)),2022
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=15),2015
    ,IF(AND(LEN([SERIE])*1=12,LEFT([SERIE],2)*1=15),2015
    ,IF(AND(LEN([SERIE])*1=9,LEFT([SERIE],2)*1=15),2015
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=16),2016
    ,IF(AND(LEN([SERIE])*1=12,LEFT([SERIE],2)*1=16),2016
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=17),2017
    ,IF(AND(LEN([SERIE])*1=12,LEFT([SERIE],2)*1=17),2017
    ,IF(AND(OR(LEN([SERIE])*1=14,LEN([SERIE])*1=15),LEFT([SERIE],3)*1=17),2017
    ,IF(AND(LEN([SERIE])*1=9,MID([SERIE],2,2)*1=17),2017
    ,IF(AND(OR(LEN([SERIE])*1=12,LEN([SERIE])*1=13),LEFT([SERIE],2)*1=18),2018
    ,IF(AND(OR(LEN([SERIE])*1=11,OR(LEN([SERIE])*1=12,LEN([SERIE])*1=13)),LEFT([SERIE],2)*1=19),2019
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=20),2020
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=21),2021
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=22),2022
    ,IF(AND(LEN([SERIE])*1=13,LEFT([SERIE],2)*1=23),2023,">2015")))))))))))))))))
    ,"<2015"))
 
Lo unico que deberia devolver es una columna con año de enfriadores. 2022,2021,2020 etc
Las series de mis enfriadores tienen multiples variantes que definen el año del enfriador: Largo de la serie, si empieza con letra, si empieza con 22, si el 3er digito es un año. Todas estas variantes estan consideradas en el DAX que pongo como ejemplo. Ojala pudieran ayudarme. Si ocupan mas informacion me lo hacen saber

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.