2017-03-03 3 views
0

人々が参加して利用可能な時間の割合を計算しようとしています。人々は常に参加するように選択されているわけではありませんが、利用可能であれば罰せられません。テキストの場合、他のセル値を追加する

列Bは参加率です。

行2は、人が選択した利用可能ではない場合には、小文字のXは、その行に配置されている行1における

上記それぞれの日付で、利用可能であった時間の合計数とマスター行であります日にち理想的には、「x」は同じ列のマスター行セルの値をとるが、xの外観を保持しているので、範囲を簡単に計算することができます。

これを今すぐ行うことができる唯一の方法は、If/thenを含む別の列(非表示)を作成することです。私が$ 7 = "x"ならば、(sum(L7 + I2)と私はそれをどうやってやるのか分からず、複数のセルに渡ってずっと少ない。

行:時々時間は時々彼らは2

= SUM(7、 "×"))))F7 /(F2-(3 *(COUNTIFS(F7)している、常に3ではありません絵で3〜7、列Bに100%を必要とする

Participation spreadsheet

答えて

0

あなたはこのユーザー定義関数を使用することができます。コピートン彼のコードをスクリプトエディタに入れて保存します。次に、F2に= total(row($ F2))を入力し、すべての行にコピーします。関数に行番号を送信します。

function total(ln) { 
    var ss=SpreadsheetApp.getActiveSpreadsheet() 
    var s=ss.getActiveSheet() 
    var lc=s.getLastColumn()//get the last column with data 
    var rng=s.getRange(2, 7, 1, lc-6).getValues()// get row 2 values 
    var rng1=s.getRange(ln, 7, 1, lc-6).getValues()// get values of current row 
    var count=0 //set count to 0 
    for(var i=0;i<rng[0].length;i++){ 
    if(rng1[0][i]=="x"){// if value is x 
     var cnst=rng[0][i]//get row 2 value 
     count=count+cnst}//add to count 
    else{count=count+rng1[0][i]}}//if not x, added cell value to count 
return count // return the total 
} 

新しい列が追加されると、関数が展開されます。

+0

この優れたスクリプトをいただきありがとうございます。あなたは命の恩人です。 –

+0

ようこそ。これがうまくいく場合は、答えの左側のチェックをクリックして回答を承認してください。ありがとう。 –

関連する問題