web-dev-qa-db-ja.com

LibreOfficeCalcのデータ列を別の列の数値に従って整列させる

私は3つの列を持っています:

  • 列Aには、さまざまなサンプルステーションを表す1から100までのカウントが含まれています。番号は順番に並んでいます。
  • 列Bは列Aから独立しています。列Aから選択された数値(1から100までの値)が含まれていますが、毎回一部のステーションからのデータのみのリストを取得するため、すべてではありません。列Bは昇順でシーケンスされますが、一部のステーションが欠落しているため、列Aよりも短く、列Bのエントリを列Aのエントリと揃えるための空白のセルがありません。
  • 列Cには、列Bに関連するデータ、たとえば、サンプリングステーションでの温度測定値やその他の情報が含まれています。

ここで、すべての情報を列Cから列Aに位置合わせされた場所に手動でコピーすることを避けたいと思います。列BとCの値を列Aのステーションリストに位置合わせし、必要に応じて列BとCに空のスペースを挿入します。 。その後、列Bを削除できます。

例として:

ColA ColB ColC
  1    1    a
  2    2    d
  3    4    r
  4    6    e
  5    7    x
  6    9    r
  7    10   e
  8    11   f
  9    13   e
  10   15   e 
 ...,...,...

後でこのように見えるはずです...

ColA ColB ColC
  1    1    a
  2    2    d
  3
  4    4    r
  5
  6    6    e
  7    7    x
  8
  9    9    r
  10   10   e
  11   11   f
  12
  13   13   e
  14
  15   15   e 
 ...,...,...
3
Stockfisch

TL; DRバージョン:元のデータをA3:B102に入れ、D3:D102に1〜100の数字を入力し、E3に=IFNA(VLOOKUP($D3,$A$3:$B$102,2, FALSE), "")を貼り付けてから、E3をE4:E102にコピーします。


必要なものの説明に基づいて、元のデータから並べ替えを分離し、代わりにサンプリングステーションのリストを作成し、VLOOKUPを使用して各ステーションのデータを検索することをお勧めします。

あなたは3つのものが必要です。

  1. ソートされていない、または不完全なデータ読み取り値のリストを貼り付ける場所。
    • ここには、完全なデータセットのための十分なスペースが必要です。
    • この場合、100のサンプリングステーションとステーションごとに1つの読み取りがあるため、100行と2列が必要になります。
    • 私の例では、これは範囲A3:B102になります。
  2. サンプリングステーションのリストと、それらに関連する測定値をそれらの隣に置く場所。
    • このリストには、すべてのサンプリングステーションを表示したい順序で含める必要があります。
    • ここでも、1〜100の番号が付けられた100のサンプリングステーションを調べており、番号順に並べたいと考えています。つまり、1つの列に1、2、3などを100まで入力する必要があり、その隣の列には数式が含まれます。
    • 私の例では、サンプリングステーションのリストはD3:D102になり、数式はE3:E102のすべてのセルにコピーされます。
  3. ソートされていないデータ内の適切なデータを検索する、ソートされたデータの「読み取り」列に入る数式。
    • この式は両方を使用するため、絶対参照と相対参照の両方を理解する必要があります。
      • ほとんどの人はDのような相対参照に精通しています。これらの参照は、あるセルから別のセルにコピーされるときに変更されます。
        (たとえば、_=D3_をEに配置した場合、EE4にコピーし、新しいコピーを-にコピーします。 E4は_=D4_を読み取ります。)
      • 絶対参照には、コピー時に変更されないように、列や行に_$_が含まれています。
        (たとえば、_=$D3_をコピーしても列は変更されませんが、行は変更されます。同様に、_=D$3_を使用すると、列は変更されますが、行は変更されません。最後に_=$D$3_は常にそのセルを参照し、コピー時に変更されることはありません。)
    • 数式は、並べ替えられたデータ読み取り値の一番上の行に入り、その下の次の99セルにコピーする必要があります。
    • Eに入る正しいデータを検索する式は=VLOOKUP($D3,$A$3:$B$102,2, FALSE)ですが、これにより、存在しないデータを参照するセルに_#N/A_が配置されます。 _#N/A_の代わりに空白が必要な場合は、VLOOKUPIFNA内に配置する必要があります。

この例の完成した式は=IFNA(VLOOKUP($D3,$A$3:$B$102,2, FALSE), "")であり、結果は次のようになります。
Original Data, (blank column), Sorted Data

1
3D1T0R
  1. 並べ替えるデータ範囲を定義します(メニュー/データ/範囲の定義)
  2. メニュー/データ/並べ替えで並べ替えオプションを設定し、
  3. 必要な順序で列を選択します([並べ替え基準]タブ)
  4. rangeに列ラベルが含まれている場合は、適切にマークしてください。
  5. 「ソート先のコピー」をマークして、宛先範囲を入力します(すべての列がコピーされます)
0
raddevus