2017-12-05 5 views
0

他のシート上の特定の列のすべての値をその数値に基づいて選択するための洗練された方法を見つけようとしています。私はまた、最初の行を除外する必要があります。列番号で列内のすべての値をExcelで選択する方法

これは簡単だと思っていましたが、頭痛の程度はどれくらいかと思いました。

一つの方法は、このされています:

=INDEX(OtherSheet!$A$2:$H$15, 0, <colNum>) 

が、これは$ Hが最後の列で、$ 15が最後の行であることを期待に依存しています。

第二の試み:

=OFFSET(INDIRECT("OtherSheet!R1C"&<colNum>, FALSE), 1, 0, 15) 

しかし、私はここにも行数をハードコーディングする必要があります。

これはこれがとても簡単なことだと思われますが、何か不足していますか?

ありがとうございます!

+0

空または空白セルの0年代を返すとしているということです数字、日付、ブーリアン、テキスト、またはミックス?どの列が最も価値があり、数字、日付、ブーリアン、テキストまたはミックスですか? – Jeeped

+0

どの列の列が最も多いかは不明です。これらはすべてテキストフィールドです – anonymouse

+0

次に、.CurrentRegionまたは.SpecialCells(最後のセル)にはVBAが必要です。 – Jeeped

答えて

0

式を使用して、特定の列のデータを含む最後の行を返すことと

  • wSheetがcolNum引数が所望の列番号を含む名前付き範囲である
  • ワークシート名を含む名前付き範囲であることを考えると

=LOOKUP(2,1/(LEN(INDIRECT(wSheet & "!C" & colNum,FALSE))>0),ROW(INDIRECT(wSheet & "!C" & colNum,FALSE))) 

に行2からその列を指す範囲を返すこと最後の行は、あなたがADDRESS機能をINDIRECTを組み合わせることができます。この方法では

=INDIRECT(ADDRESS(2,colNum,1,1,wSheet)&":"&ADDRESS(LOOKUP(2,1/(LEN(INDIRECT(wSheet & "!C" & colNum,FALSE))>0),ROW(INDIRECT(wSheet & "!C" & colNum,FALSE))),colNum,1,1)) 

1つの問題は、それは彼らが最も価値を持って何行

関連する問題