1

これは私にとって完全な失敗かもしれませんが、とにかく質問して、それが私の答えにつながるかどうかを確認することにしました。

私がやりたいことは、スクリプトを持っていることです

  1. 私が入っている細胞を調べる
  2. 基本的に、同じワークブック内の別のワークシートのテーブルで VLookup を実行します。
  3. そのルックアップから見つかった値をそのセルのコメント/メモに入れます。

初めてこれを行うにはマクロが必要で、それ以外の場合は変更時にスクリプトを実行する必要があります。

Google スプレッドシートをスケジュールとして使用しています。列は日ごとにグループ化されており、各日はいくつかのシフトを持っています。行は、作業されている時間を示します。セルの値は、その日のその時間にそのシフトで働いている人のイニシャルをユーザーに伝えます。

コメントを設定する方法を知っています。各列をループして値があるかどうかを確認するループを作成する方法を知っています。

私が知らないのは、セルの値を検索して他のテーブルからデータを返す方法です。

この小さな知識を教えてくれる人はいますか?

4

1 に答える 1

2

これは、私が持っているルックアップ関数の短いバージョンです。ご希望であれば、もっと複雑なものを用意していますが、お知らせください。別の返信で投稿できます。

//------------------Single Cell VLookup return var
/*
 [129   Santa Clara BA  1234    abce    W   ]
 [130   Los Feliz   LA  5678    deff    I   ]
 [131   Sand City   BA  9112    ghig    C   ]
 finderLookUP('Data','A:G',130,0,2) would return 'LA'
*/    
function finderLookUP_(Sheet,Range,lookupItem,IndexOffset,IndexOffsetReturn)   // finderLookUP(Ref Sheet, Ref Sheet Range, Current lookup Item, Ref Sheet Column for Current lookup Item , Ref Sheet Column for qualified Current lookup Item RETURN)
    {                                                                             
     var data = SpreadsheetApp.getActive().getSheetByName(Sheet).getRange(Range).getValues();         //Syncs sheet by name and range into var
     for(nn=0;nn<data.length;nn++)
      {
        var Sending = "";
        if (data[nn][IndexOffset]==lookupItem)
        {
          var Sending = data[nn][IndexOffsetReturn];
          return Sending;
        } 
      }
      if(isEmpty_(Sending)==true)
      {
        var Sending = "#N/A";
        return Sending;
      }

    }
于 2015-04-16T21:29:13.593 に答える