2017-08-09 8 views
0

Googleでスプレッドシートを使っていくつかの問題を解決しようとしています。私は誰かが私をより良い解決策に導くことができるか、私が現在持っている問題を修正できるようになることを望んでいます。Google Sheets数式を2つの方法で引き出すための数式

まず第一に、すべて、ここで私から引っ張っていますシート1上のデータのビューです:

例スプレッドシート

私が達成しようとしている最初のタスクは、シートを作成することですこのシートを使用して、CSVを介してデータを毎月カレンダーシステムにインポートすることができます。このシートを使用して、日付を1列に、件名(「P:Ben」または「S:Nicole」)私は関連する値を取得するために日付を使用したIndex-Matchを試みましたが、新しい情報を取得するために数式のオフセットを調整し続ける必要があることがわかりました。インデックス/マッチは、複数の行/列が関わっている場合に機能します。この情報を引き出す良い方法はありますか?

私が達成しようとしている2番目のタスクは、特定の人物が割り当てられているすべての日付をリストする新しいタブを作成することです(このタブはリアルタイムで更新され、誰もが自分のシートを見ることができます彼らが電話をしている日)。しかし、私はここで同じ問題に遭遇します。新しい行ごとに、正しい情報を反映するように式を変更しなければならないからです。

私が述べた数式の組み合わせでこれらのタスクを達成する方法や、他の数式で提案して見つけられなかったことについて、すべての情報/アドバイスに感謝します。

ありがとうございます!

答えて

0

ブランドン。タスクを攻撃するにはいくつかの方法がありますが、データの構造を見ると、中括弧{}を使用して配列を作成します。あなたがまたカッコ{}を使用してスプレッドシート 式で独自の配列を作成することができます

:ここではどのようにシートでGoogle explains配列の抜粋です。

  • カンマ:別の列を使用すると、アレイ内のデータの行を記述するために役立つあなたは値がに表示される 順序を決定するために、以下の記号を使用しながら、ブラケットは、一緒にグループに 値あなたを可能にします。 たとえば、={1, 2}は、最初のセルに番号1を置き、新しい列の右側にあるセルの番号2を に置きます。
  • セミコロン:行を区切って、配列にデータの列を書き込むのに役立ちます。 の例では、={1; 2}は、最初のセルに番号1を、新しい行に下のセルに の番号2を配置します。

:アレイを作成する場合(例えば€1,00のための)小数点セパレータとして コンマを使用する国では、コンマが )はバックスラッシュ(によって置き換えられます。

この同じ 句読点を使用すると、複数の範囲を1つの連続範囲にまとめることができます。例えば、D1-D10から 値をA1-A10からの値を組み合わせるために、あなたは連続列に 範囲を作成するには、次の式を使用することができます。={A1:A10; D1:D10}

ここにあなたのsample sheetだ、ということを知っデータ。

最初のタスク:

1つの 列の日付と件名でこれらのシフトの日のすべてを一覧表示シートの作成(「P:ベン」またはS:ニコール ")別の列でを個別の配列に日付や科目を整理する。

、我々は中括弧を使用してそれらを収集します...

  • 日付:{A3:G3,A7:G7,A11:G11,A15:G15}
  • 件名:{A4:G4,A5:G5,A8:G8,A9:G9,A12:G12,A13:G13,A16:G16,A17:G17}

これは、実際には2つのではなくを生成するが、我々は分でそれに対処します。 1つの日付につき2つの科目があるので、取り込まれた各日付を効果的に倍増する必要があります。

  • 日付:{A3:G3,A3:G3,A7:G7,A7:G7,A11:G11,A11:G11,A15:G15,A15:G15}
  • 件名:私と一緒にまだ{A4:G4,A5:G5,A8:G8,A9:G9,A12:G12,A13:G13,A16:G16,A17:G17}

?その場合は、(a)これら2つの行をTRANSPOSE関数を使用して2つの列に変換し、(b)別の中括弧とセミコロンを使用して2つの列を結合し、(c)SORT関数を追加して時系列順に日付...

=SORT(TRANSPOSE({{A3:G3,A3:G3,A7:G7,A7:G7,A11:G11,A11:G11,A15:G15,A15:G15};{A4:G4,A5:G5,A8:G8,A9:G9,A12:G12,A13:G13,A16:G16,A17:G17}}),1,TRUE)

2番目のタスク:

は、特定の人物が (あまりにもこのタブが更新されますそのように割り当てられているすべての日付を一覧表示する新しいタブを作成しますリアルタイムで誰もが は、自分のシートを見て通話中の日を確認できます)。

し、我々は、それぞれの名前に基づいてFILTER機能とSEARCHを使用することができます「シフト」私達はちょうどと呼ばれる新しいシートにA2:B53での生活を作成した2つの列の配列を仮定。

=FILTER(Shifts!A2:B53,SEARCH("Ben",Shifts!B2:B53))

うまくいけば、このことができますが、私は何かを誤解した場合、私に教えてください:ベンのシートの上部にある式は次のようになります。乾杯。

関連する問題