web-dev-qa-db-ja.com

「+」が数式を生成しないようにする

私は少し苦労しています。プラス記号(+)を定期的に使用するスプレッドシートを作成しています。 +の加算式への半永久的な修正が必要です。

18
David Wheatley

最も簡単な回避策は、最初の文字として、'の直前にアポストロフィ+を入力することです。

別のアプローチは、="+5 blah"のような文字列式として内容を入力することです。

一部のタイプのデータ、たとえば国際電話番号には最初のプラス記号が非​​常に必要であるため、形式をプレーンテキストに設定してもここでは役に立たないのは残念です。

24
Silver Ringvee

「=で検索と置換」を実行し、「数式内も検索」にチェックマークを付けます。

4
lish

Googleスプレッドシートで領域を選択し、FORMAT -----> NUMBER -----> PLAIN TEXTに移動します。これで、数式は機能しなくなります!

3
Vipul Bijutkar

アプリケーションによっては、次のソリューションが役立つ場合があります。

+で表示したいセルを強調表示します。 「123」フォーマットに進み、「その他のフォーマット」を選択してから、「カスタム数値フォーマット...」に進みます。

[カスタム形式]ボックスに"+"@と入力します。これは、正、負、ゼロ、またはテキストエントリに関係なく、エントリの前に+を追加することを指定します。

ここで、単純な情報を入力すると、その前に+が表示されます。問題は、式を扱うときに、データが正符号なしで表示されることです。

https://support.google.com/docs/answer/56470?p=drive_custom_numbers&rd=1 を使用しました。

1
Hanry Hu

これを行う方法は、 Silver Ringvee's answer で記述されているように、(')シンボルの前にアポストロフィ+を追加することです。ただし、Google Apps Scriptを使用して自動化できます。

これは、問題を解決するために作成した簡単なApps-Scriptスクリプトです。セルを編集するたびに、シートを検索し、アポストロフィ(')をテキストの前に配置します。つまり、最初に'を追加することを心配せずに、単に+ helloを追加できます。スクリプトが自動的に実行します。

使用法-

シートを開き、Tools->Script editorに移動します。開いたエディターで、次のコードを貼り付けます。次に、トリガーをスクリプトに追加して、セルを編集するたびにスクリプトが自動的に実行されるようにします。

トリガーの追加-

エディターでResources -> Current project's triggersに移動します。開いたボックスでAdd a new trigger列を選択Runselect main function、inEventsselect From spreadsheet、最後の列のOn editを選択します。

コード-

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

+記号の前にスペースを追加するだけです。私のために働くようです

1
Friend