Quel est l'équivalent de parseInt()
(JS) ou intval()
(PHP) dans Google Sheets?
Je veux calculer la somme des nombres dans une ligne dans une cellule séparée. Donc, si je l'avais 3 cups
et 5 cups
dans une rangée, j'aurais 18
.
Quel est l'équivalent de parseInt()
(JS) ou intval()
(PHP) dans Google Sheets?
Je veux calculer la somme des nombres dans une ligne dans une cellule séparée. Donc, si je l'avais 3 cups
et 5 cups
dans une rangée, j'aurais 18
.
Réponses:
Une façon de mettre en œuvre quelque chose comme ça est
=VALUE(INDEX(FILTER(SPLIT(A1, " "), ISNUMBER(SPLIT(A1, " "))); 1; 1))
Le résultat de cette formule pour certains exemples de chaînes est donné ci-dessous.
Vous devrez peut-être le modifier en fonction de vos besoins individuels. Cela devrait fonctionner assez bien pour des cordes aussi simples que "3 tasses".
SPLIT(..., " ")
divise une chaîne en ses parties séparées par des espaces. Vous pouvez ajouter plus de caractères à la chaîne, par exemple " -/"
, pour diviser chaque fois que ces caractères sont trouvés.
ISNUMBER
vérifie si une chaîne est un nombre.
FILTER
prend le tableau et filtre tout ce qui ne satisfait pas la deuxième fonction, c'est-à-dire qu'il supprime tout ce qui n'est pas un nombre.
INDEX(...; 1; 1)
renvoie la valeur dans la première ligne, la première colonne du tableau (donc nous n'obtenons que le premier nombre répertorié, pas tous les nombres répertoriés).
VALUE
ne sera probablement pas nécessaire, mais juste pour faire bonne mesure, il convertit la chaîne finale en une valeur numérique.
VALUE
...
VALUE
déclenche une erreur ("ne peut pas être analysé en nombre") sur toutes les entrées d'exemple que j'ai données dans la réponse.
VALUE
c'est la réponse à la première question de OP et le titre aussi.
Une parseInt()
alternative est:
=INT()
=SUM(ARRAYFORMULA(INT(LEFT(B1:B2, LEN(B1:B2)-5))))
Le LEN(B1:B2)-5
, comprend un espace blanc.
Semble une bonne utilisation pour regex. Par exemple:
où la formule dans E2 est:
="="&join("+",ArrayFormula(regexreplace(B2:D2,"\D","")))
Cela supprime tous les non numériques, concatène le résultat avec +
et ajoute =
.
Copiez / collez / collez uniquement les valeurs dans, disons, F2 (pourrait être E2), puis remplacez =
par =
.