Forum Discussion
¡Ayuda! Intentando poner Excel ISNUMBER formual en Power Query M.
Hola
Estoy tratando de poner la siguiente fórmula de Excel en la fórmula M de Power Query y estoy perplejo. Aquí está la fórmula de Excel:
=IFS(ISNUMBER(VALOR(IZQUIERDA(A6,1))),A6,ISNUMBER(VALOR(IZQUIERDA(B6,1))),B6,ISNUMBER(VALOR(IZQUIERDA(C6,1))),C6,ISNUMBER(VALOR(IZQUIERDA(D6,1))),D6,ISNUMBER(IZQUIERDA(E6,1))),E6,ISNUMBER(VALOR(IZQUIERDA(F6,1))),F6,ISNUMBER(VALOR(IZQUIERDA(G6,1))),G6,ISNUMBER(VALOR(IZQUIERDA(H6,1))),H6)
Esta fórmula está comprobando si el primer carácter en el texto de cada una de las celdas es un número (0 a 9) y, si es así, rellene la nueva columna con el contenido de esa celda si el primer carácter del texto es un número. Si la celda comienza con el número, es el "Número de cuenta", que es lo que necesito. Si no es así, muévase para verificar la siguiente columna, hay 9 columnas y cada una debe verificarse ya que el número de cuenta podría estar en la 9ª columna. Vea los datos de muestra a continuación.
Gracias, BJ
2 Replies
- Syndicate_Admin
Administrator
Aquí hay una mejor muestra de los datos.
Cuenta Nivel 0 Cuenta Nivel 1 Cuenta Nivel 2 Cuenta Nivel 3 Nivel de cuenta 4 Nivel de cuenta 5 Cuenta Nivel 6 Nivel de cuenta 7 Nivel de cuenta 8 Nivel de cuenta 9 Contar Solo cuenta T0000 - Todas las cuentas (incl. estadísticas) BS000 - Balance General Total A0000 - Activos totales A1000 - Total del Activo Circulante 10200 - Valores negociables 1 10200 - Valores negociables - Syndicate_Admin
Administrator
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("VcwxCsMwDAXQqwhPLaTg9AZO5k7OFjKoQlAT4YAl3z9OMzT9aPpP/Hl2k2+BBwQRCERbzaZwS5kEoqHp3XVuiOfPtBkKDCiYiSF+mK1p8FcNqmx61P21HmspnO3HvX9++YVlZcO3tEGmWpIlPvzvlmUH", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Acct Level 0" = _t, #"Acct Level 1" = _t, #"Acct Level 2" = _t, #"Acct Level 3" = _t, #"Acct Level 4" = _t, #"Acct Level 5" = _t, #"Acct Level 6" = _t, #"Acct Level 7" = _t, #"Acct Level 8" = _t, #"Acct Level 9" = _t]), #"Extracted Account" = Table.AddColumn(Source, "Extracted Account", each let l=Record.ToList(_) in l{List.PositionOf(l, {"0".."9"}, 0, (x,y) => List.Contains(y, Text.Start(x,1)))}) in #"Extracted Account"