1

特定の条件でいくつかのセルにデータを入力したい。問題は、数式だけでこれを行う方法がわからないことです (マクロや並べ替えは使用できません)。

とにかく、これが**シート**を含む私のワークブックです:

**Sheet1**
TASK     Week
Test     1
Test2    1
Test3    1
Test4    2
Test5    3
Test6    2
Test7

**Sheet2**
Week
2

TASK
Test4
Test6

私がやろうとしてきたことは次のとおりです。

  • 選択した週に基づいて Sheet2 タスクを設定します。
  • 週 #2 (シート 2) を選択すると、その週番号を持つシート 1 のタスクが (同じシートの) タスク リストに入力されます。

たとえば、現在、(仮説的に) すでに週 == 2 のタスクをロードしています。

ご不明な点がございましたら、お知らせください。私の問題を明確にしたことを願っています。

事前にどうもありがとうございました!

4

2 に答える 2

2

さて、私はより良い解決策を見つけました。これには、Sheet2 に追加のヘルパー列が必要ですが、少なくとも一致のコンパクトなリストが返されます (変な間隔はありません)。

Sheet2 で、一致リストの最初の行 (この例では A3) に次のように入力します。

=IFERROR(INDEX(Sheet1!$A$1:$A$7,B3),"")

次の列の隣接するセル (ここでは B3) に次のように入力します。

=IFERROR(MATCH(2,Sheet1!$B$1:$B$7,0),"")

2 は一致する週番号です。

次の行に次の数式を入力します (それぞれ A4 と B4 に)。

=IFERROR(INDEX(OFFSET(Sheet1!$A$1:$A$7,SUM(B$3:B3),0),B4),"")

=IFERROR(MATCH(2,OFFSET(Sheet1!$B$1:$B$7,SUM(B$3:B3),0),0),"")

この数式の行は、好きなだけ入力できます。

于 2011-10-08T15:45:56.577 に答える
1

これが私が考えた最初の方法です。おそらく、より優れた、より洗練されたソリューションがあると思いますが、共有したいと思います。

Sheet1 のリスト内のタスクの総数がわかっている場合、たとえばnとすると、次のことができます。

  1. 一致するタスクのリストが必要なシート 2 で、A4 (またはリストの一番上にしたいもの) から A(4+ n -1) までを選択します。したがって、サンプル データには、A4:A10 を選択します。
  2. 選択を変更せずに、次の式を入力します。

    =IF(Sheet1!B2:B8=2,Sheet1!A2:A8,"")

    ここで、2 は一致させたい週番号です。

  3. Ctrl+Shift+Enter を押して数式を入力します。
于 2011-10-07T20:30:11.697 に答える