LibreOffice Calc セルをカテゴリ別に色分けする

LibreOffice Calc セルをカテゴリ別に色分けする

テキスト データのスプレッドシートがあり、各列には、許容される文字列値のセットが制限されています。ファイルには 2 番目のシートがあり、最初のシートの各列には、許容される各値が 1 つずつ含まれています。(現在、これを強制する数式はありません。その方法を知っていれば、この質問をする必要はないと思います。)

私がやりたいのは、メイン シートの各値が色分けされ、特定の列に許可されている各値が異なる色になるようにすることです。各値に手動で色を割り当てるのは不可能です。個別の列の色範囲の重複は気にしません。

私は見たこの質問これは基本的に私の質問と同じですが、Excel に関するもので、回答も不明瞭です。それに促されて、ドメイン シートの各列の左側に、それらの値を連続する整数にマッピングする列があるように列を追加しました。ただし、メイン シートでそれらを色に変換する方法がわかりません。

私は手順を見つけましたカラースケール書式設定。これは必要なことの半分くらいです。残念ながら、数式はグラデーションの最小値、最大値、中間値を定義するためにしか使用できず、セルの値を文字列から整数に処理してグラデーションを可能にすることはできないようです。

これを使用して、ほとんどの部分に到達しました。3 番目のシートは最初のシートから値を読み取り、2 番目のシートを使用してそれらを数値にマッピングし、結果にカラー スケールを適用します。これにより、元のシートと同じデータを持つシートが作成されますが、文字列ではなく数値と色で表されます。残りの手順 (この方法がうまくいく場合) は、元のシートにそれらの色を複製するか、フォーマッタ用の数値を含めたまま新しいシートに文字列をユーザーに対して表示することです。

答え1

マクロ以外で新しい色のセットを動的に作成する方法はありません。カラースケール、あなたが述べたように。スタイルを使用して任意の数の新しい色を作成することもできます(ここ) ですが、質問では色が多すぎると述べられています。

代わりに、重複している値やリストにない値を強調表示します。

  1. メインシートの 1 つの列でチェックするセルを選択します。
  2. 書式 -> 条件付き書式 -> 管理
  3. 追加、条件1 Cell value is、、duplicateスタイルを適用しますBad。(これはLO 5.4.3.2で動作します。バージョンが十分に新しくない場合は、COUNTIF説明どおりに使用してください。ここ)。
  4. 追加、条件2 Formula is、、ISNA(VLOOKUP(A1;Sheet2.$A$1:$A$100;1;))スタイルを適用Errorここ)。

たとえば、シート 2 に次のリストが含まれている場合:

apple
banana
carrot
date
eggplant
fig
grape

すると、メインシート上で問題のある値が強調表示されます。

シート 1 の強調表示された値

注: リストに値を含めるには、データ -> 有効性、 許可するCell range

関連情報