2017-02-07 9 views
2

すべてのシートから特定のセル(B2)を作成して入力番号を4の整数の最も近い倍数に自動的に切り捨てる方法は?スクリプトを使用してGoogleスプレッドシートの値を丸める方法は?

例。私がセルB2(33.33)に数字を入力するときは、整数のうちの最も近い倍数(32)に切り捨てる必要があります。

可能であれば、そのコードがすべてのシートに対して機能します。私はどんなスクリプトコードを使うべきですか?

+0

私が求めているのは、スクリプトコードです。次のようなものがあります:function onEdit(){ if(SpreadsheetApp.getActiveRange()。getValue()== "Name"){ SpreadsheetApp.getActiveRange()。setFontColor( "Green"); } – rck368

+0

特定のセル内の数値を切り捨てるために使用するコードは、上記の色変更スクリプトコードがスプレッドシート全体に適用されます。 – rck368

答えて

-1

入力値にROUNDDOWNを呼び出し、別のシートの値の一致をテーブルで検索することをおすすめします。

=VLOOKUP(ROUNDDOWN(B2,0), array, 2) 

配列:

0 0 
1 0 
2 4 
3 4 
4 4 
5 4 
6 8 
7 8 
... 

また、しかし、より複雑な、INDEX(MATCH) tends to be a lot friendlier than VLOOKUP because of how it treats values。あなた自身が、バックマッチの失敗を謎の値を取得、または将来的に他の何かを検索したい見つけた場合、代わりにそれを使用します。

=INDEX(array_col2, MATCH(ROUND(B2,0), array_col1, 0)) 
0

をどうやら私の最初の答えは最高ではありません。

あなたが複数のラウンドMROUND

この関数は、直接ラウンド4の倍数に(2番目の引数で選択)しますしたいが、私はそれがGoogleドキュメントで利用できるか分かりません。

=MROUND(value, 4) 

は常に切り捨てするには 、ちょうどあなたがvalueは、あなたが望む細胞である方法

=IF(value>0,1,-1)*MROUND(ABS(value),4) 

の多様でこれを拡張することができ、それは

=MROUND(ROUNDDOWN(value, 0), 4) 

負の数を処理するために化合物を操作する。