0

java用にGoogleスプレッドシートAPI v4を使用しています。セルの値を使用して行インデックスを検索する方法

User Message  Time 
-------------------------------- 

    User1 My Message 10:30 
    User2 User2 msg  3:40 
    User3 User3 msg  1:30 
    User2 User2 msg  
    User4 User4 msg  4:00 

私はユーザーズユーザー2 'とタイムバンク(空の値)と行インデックスを見つけたい -

私のスプレッドシートは次のようになります。 その後、この行インデックスを使用してその行に時間値を追加したいと考えています。 範囲やインデックスを知らなくてもセルの値を検索できますか?それは基準(ユーザー=「ユーザー2」および時間=「」)に一致するように上記の例では

、それが最後の行のインデックスのみ第二私を返すべきです。 さらには、行基準(User = 'User2'とTime = '')を見つけてTimeの値を ''から '3:30'に置き換える検索と置換のAPIはありますか?

私はGoogleドキュメントを通じて行ってきましたが、私の必要に応じていずれかを見つけることができませんでした。おかげさまで

編集:

私は更新する必要があるセルアドレスを見つけるために、数式を発見しました。

たとえば、この質問に使用されているこの数式は、予想される '$ C $ 4'アドレスを返します。私は、この数式をスプレッドシートで手動で評価することでこれをテストしました。 GoogleスプレッドシートAPI V4を使用してJavaコードを使用してこの数式を評価する方法はありますか?

+0

@anonymous rabbit私はgoogle-api-services-sheets v4 for javaを使用しています – rsnhah

答えて

1

私はあなたがルックアップ機能の組み合わせを使用したいと思う。特に https://support.google.com/docs/topic/3105472?hl=en&ref_topic=3046366

、MATCHはあなたのオフセットを得ることができるようにあなたは、あなたが範囲内にしたい値のオフセット位置を取得することができます値 'User2'とOFFSETを含むcolumn1のセルは、見つかったセルの右側のセル2列の値をチェックすることができます。これにより、比較するTime列の値が得られます。それ以来、あなたはチェックされた事柄のセルのコーディネイトを持っていました。それで、新しい値を割り当てることができました。これらのルックアップ関数を使用すると、残りの部分に必要な範囲またはインデックスを見つけることができます。

これはちょうどあなたのスクリプトがシート組み込み関数によって値が出力への直接アクセスを得ることができるように、特定の値は、あなたの他の機能のために事前に計算していするための便利な方法を提供します。あなたのシートスクリプトが値の範囲をソートする必要がなくなりますが、ロジックは同じです。 1)列1 2)値の列1の検索範囲の範囲を取得] User2の "マッチした場合 3)、セル参照を右に2つのスペースを取得し、そのセル参照を求めるために(0,2)のオフセットチェック。 4)その参照が空の場合は、タイムスタンプを割り当てます。

あなたは、このためのコードが必要な場合、それは一緒に入れて少し長い私を取るでしょう。

+0

GoogleのスプレッドシートAPI v4のJavaコードを使用して式を評価する方法はありますか? – rsnhah

+0

残念ながら、同じ問題を抱えた私自身の経験では、 2つのAPIおそらく何かGoogleが後で取り組むことができるかもしれない。セル式で使用できる数式があり、スクリプトで呼び出すことのできる関数があります。私が見つけた最良の方法は、セル式を使用してスクリプトで活用できる中間値を計算することです。検索処理のいくつかのショートカットに役立ちますが、最終的には同じ有効なロジックが必要です。 – b4n4n4p4nd4

関連する問題