web-dev-qa-db-fra.com

Empêcher un '+' de générer une formule

Je vais avoir un peu de lutte. Je crée un tableur qui utilise régulièrement des signes plus (+). Je souhaite une solution semi-permanente pour le traitement de + en formules d'addition.

18
David Wheatley

La solution de contournement la plus simple consiste à entrer une apostrophe ' en tant que premier caractère, juste avant le +.

Une autre approche consiste à saisir le contenu sous forme de formule de chaîne telle que ="+5 blah".

Un signe plus initial est très nécessaire pour certains types de données, par exemple les numéros de téléphone internationaux. Il est donc regrettable que même définir le format au format texte n’aide pas ici.

24
Silver Ringvee

Faites une recherche et remplacez pour = avec 'et cochez la case "Rechercher également dans les formules".

4
lish

Dans vos Google Sheets, sélectionnez la zone et allez à FORMAT -----> NUMBER -----> PLAIN TEXT. Maintenant, les formules ne fonctionneront plus!

3
Vipul Bijutkar

Selon votre application, la solution suivante pourrait être utile:

Mettez en surbrillance la ou les cellules que vous souhaitez afficher avec un +. Allez dans le "123" Formatage, choisissez "Plus de formats", puis allez dans "Format de numéro personnalisé ..."

Tapez "+"@ dans la zone Format personnalisé. Cela spécifie d'ajouter + avant l'entrée, qu'il s'agisse d'une entrée positive, négative, nulle ou textuelle.

Maintenant, il vous suffit de taper vos informations brutes et elles apparaîtront avec un + devant celui-ci. Le problème est que, lorsqu’il s’agit de formules, les données seront toujours affichées sans le signe positif.

J'ai utilisé https://support.google.com/docs/answer/56470?p=drive_custom_numbers&rd=1 .

1
Hanry Hu

Pour ce faire, vous devez ajouter une apostrophe (') devant le symbole +, comme indiqué en réponse de Silver Ringvee . Toutefois, vous pouvez l’automatiser à l’aide de Google Apps Script.

Voici un simple script Apps-Script que j'ai créé pour résoudre le problème. Chaque fois que vous modifiez une cellule, celle-ci parcourt la feuille et place l'apostrophe (') avant le texte, c'est-à-dire que vous pouvez simplement ajouter + salut, sans vous soucier de l'ajout de ' au début. Le script fera je automatiquement pour vous.

Utilisation -

Ouvrez la feuille, allez à Tools->Script editor. Dans l'éditeur qui s'ouvre, collez le code suivant. Ajoutez ensuite des déclencheurs au script afin qu'il s'exécute automatiquement chaque fois que vous modifiez une cellule.

Ajout d'un déclencheur -

Dans l'éditeur, accédez à Resources -> Current project's triggers. Dans la boîte de dialogue qui s'ouvre, sélectionnez Add a new trigger Dans la colonne Exécuter , sélectionnez main fonction, dans Événements , sélectionnez From spreadsheet, puis sélectionnez On edit pour la dernière colonne.

Code -

function columnToLetter(column)
{
  var temp, letter = '';
  while (column > 0)
  {
    temp = (column - 1) % 26;
    letter = String.fromCharCode(temp + 65) + letter;
    column = (column - temp - 1) / 26;
  }
  return letter;
}

function letterToColumn(letter)
{
  var column = 0, length = letter.length;
  for (var i = 0; i < length; i++)
  {
    column += (letter.charCodeAt(i) - 64) * Math.pow(26, length - i - 1);
  }
  return column;
}

function main() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  Logger.log(data)
  for (var i = 0; i < data.length; i++) {
   for (var j=0;j<data[i].length;j++)
     if(data[i][j]=="#NAME?") {
     var clm=columnToLetter(j+1);
       var rng=clm+String(i+1);
       var range = sheet.getRange(rng);
       var frml = range.getFormula();
       range.setValue("'+"+frml.substring(1));
       Logger.log("sahil#"+frml);
     }
    Logger.log(data[i][j]);
  }
}
1
Sahil Singh

Ajoutez simplement un espace avant le signe +. Semblait travailler pour moi

1
Friend