web-dev-qa-db-ja.com

LibreOffice:列から個別の値を数える

マテリアルオブジェクトのリストの色名など、いくつかの繰り返し可能な値を含む列があります。一意の値の出現回数を数えるにはどうすればよいですか(たとえば、5つの赤、15の緑、80の黒がある100行の場合)。発生する可能性のあるすべての「色」がわからないため、COUNTIFを使用できません。

SQL-wayでは、私は次のようなことをします

SELECT count(`color`), `color` FROM `MyTable` goup by `color`
7
AntonioK

スプレッドシートはSQLほど簡単にはできませんが、2つの解決策があります。

方法1-ピボットテーブル

列の最初の行にラベル(たとえば、Color)が含まれていることを確認してください。次の列で、ラベルをCountに設定します。すべての色の_1_の数を入力します。

_Color  Count
red    1
green  1
red    1
_

次に、2つの列を選択し、[データ]-> [ピボットテーブル]-> [作成]に移動します。 Colorを行フィールドにドラッグし、Countをデータフィールドにドラッグします。

pivot table

方法2-フィルター

  1. 列データをコピーし、新しいシートの列Aに貼り付けます。
  2. [データ]-> [その他のフィルター]-> [標準フィルター]に移動します。
  3. _Field Name_を_- none -_に変更します。 Optionsを展開し、_No duplicates_を確認します。 OKを押します。
  4. B1に、数式=COUNTIF($Sheet1.G1:G100,"="&A1)を入力します。 「G」をシート1で使用した列に変更します。
  5. 数式を下にドラッグします。

個別の値を取得するためのリンクは https://stackoverflow.com/a/38286032/5100564 にあります。

6
Jim K