Perfectament explicat dins:
https://excelyvba.com/rellenar-celdas-vacias-con-el-valor-de-la-de-arriba/
Recordatori:
F5 / Especial / Celdas en blanco
Omplim la primera cel·la buida amb el valor de la superior.
CTRL INTRO
Perfectament explicat dins:
https://excelyvba.com/rellenar-celdas-vacias-con-el-valor-de-la-de-arriba/
Recordatori:
F5 / Especial / Celdas en blanco
Omplim la primera cel·la buida amb el valor de la superior.
CTRL INTRO
Vull sumar sols els valors dins els quadrats grocs (resultat 200,6)
Al rang inferior, beta
Solució errònia =SUMA(alfa:beta) resultat = 220,6 Està incloent els valors amb fons de color blanc.
Solució correcta =SUMA(alfa;beta) resultat = 200,6 No inclou els valors amb fons de color blanc.
En Access és molt més fàcil, però si ho has de fer en Excel, caldrà fer servir una matriu:
Amb aquesta fórmula compararem A1:A21 i B1:B21
=SI.ERROR(INDICE($A$1:$A$21;K.ESIMO.MAYOR(SI.ERROR(COINCIDIR(B1:B21;$A$1:$A$21;0);"");FILA()));"")
Abans d'aplicar la fórmula cal seleccionar el rang on l'aplicarem. Tot seguit (Molt important) polsem CTRL+MAYS+INTRO:
Amb Office365, la fórmula més fàcil seria:
=TEXTODESPUES(CELDA("nombrearchivo";A1);"]")
Si descomposem la fórmula ens dona:
=TEXTODESPUES( PARÀMETRE-1 ;"]")
Per un paràmetre ens dona les dades després del caràcter entre cometes.
El Paràmetre 1:
=CELDA("nombrearchivo";A1)
Ens dona la ruta del fitxer consultant des d'A1.
És important determinar la cel·la, ja que si copies la fórmula de forma simultània en molts fulls, es pot embolicar si no indiques la cel·la.
El problema seria que et donaria el mateix resultat per totes les fulles del llibre, és a dir, un desastre.
Una mica millorat fent servir constants per no oblidar-nos de dimensionar el número de fulls afectats i el número de línies a tractar. En aquest cas treballem amb 13 pàgines i la pàgina que té més línies té unes 30.
El codi:
He fet una importació de dades des de PDF i se m'han carregat 13 fulls.
Cada full s'ha creat com a Page001, Page002, Page003.... fins a Page013
Vull carregar unir totes les dades dins Hoja 1
No vull tocar la primera línia de Hoja1 perquè alli vull escriure una capçalera.
No vull tocar la primera columna de Hoja1 perquè allí vull tenir una columna d'ordre (1,2,3,....)
L'opció CONSOLIDAR té certes restriccions, així que ho faré amb VBA:
Option Explicit
Dim MyNumPage As String
Dim MyRange As String
Dim NumeracioMyNumPage As Byte
Dim NumeracioMyRange As String
Dim i As Byte
Sub CopiarYPegar()
NumeracioMyRange = -28
i = 1
For i = 1 To 13
NumeracioMyNumPage = i
If i < 10 Then
MyNumPage = "Page00" & NumeracioMyNumPage
Else
MyNumPage = "Page0" & NumeracioMyNumPage
End If
Parche_01
Next i
End Sub
Sub Parche_01()
Sheets(MyNumPage).Select
ActiveSheet.Range("A2:P30").Select
Selection.Copy
Sheets("Hoja1").Select
NumeracioMyRange = NumeracioMyRange + 30
MyRange = "B" & NumeracioMyRange
Range(MyRange).Select
ActiveSheet.Paste
End Sub
Una solució eficaç dins www.hojasdecalculoexcel.com
http://www.hojasdecalculoexcel.com/2008/04/calcular-la-letra-del-nif-o-del-dni.html
Sols he afegit la declaració "Dim Lista_de_letras as String" ja que tinc activat el Option Explicit.
Dins un mòdul escrius aquest codi:
Function LetradelNIF(NIF As Long)
'Controlamos
que no sea un número mayor de 8 cifras
If NIF = 0 Or NIF > 99999999 Then
letradelNif = "NIF incorrecto"
Else
'Tenemos una constante que
contiene las posibles letras que puede tener un NIF
Dim Lista_de_letras as String
Lista_de_letras =
"TRWAGMYFPDXBNJZSQVHLCKE"
'Cogemos el
NIF, lo dividimos entre 23 y nos quedamos con el resto. Luego
'al resto le
sumamos 1, y obtenemos de la lista de letras, la que corresponda
'con ese
número de NIF
letradelNif = Mid(Lista_de_letras, (NIF
Mod 23) + 1, 1)
End If
End Function
Pel NIE sols cal canviar la X inicial per 0, la Y per 1 i la Z per 2.
Vull que si la data és superior al 15/10/2021 informi NOVA i si és anterior, informi ANTIGA.
El primer que fariem seria =si(A2>15/10/2021;"nova";antiga")... però no xuta. Les dates van al seu rotllo.
La solució és
=SI(A2>=FECHANUMERO("15/10/2021");"NOVA";"ANTIGA")
Si tens la configuració en català, fes servir la funció VALDATA
Però l'important d'aquesta entrada és explicar la formula EXCEL d'anidacions de if.
De fet és tan simple com mantenir la coneguda estructura =SI(CONDICIO;ResultatA;ResultatB)
El truc està en ampliar poc a poc els resultats. Amb una mica de paciència aquest gràfic penso que ho deixa bastant clar. Cal fixarse que sols afegim el símbol = la primera vegada.
Per afegir el Y que uneix dos condicions fem servir * abans de la Y.
En qualsevol cas, això és matar mosques a canonades. La gràcia del si (o del if) es que evalua fins que troba un resultat. Es a dir, si en el primer "pis" troba una solució, ja no continua. per tant, la forma correcta seria:
=SI(A2>90;2;SI(A2>0;1;SI(A2<-90;3;SI(A2<0;4;0))))
En aquest exemple millorat, si el angle és 0 ho marquem com a quadrant 0.