- ベストアンサー
エクセルについて。
エクセルでお願いします。xpを使用しています。A1からA3までを白、A4からA6までを黒という具合に、 白、黒、赤、青、黄、緑、オレンジ、ピンクと8つの色を付け、次の列のB1からB3までのどれかに数字を入れて、それをまた各色ごとに同じように数字を入れ、その数字の小さい(若い?)順に色を並べかえ、C列に表示させる事は可能でしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.2です。 何とか希望に近い形になって良かったです・・・ >何回も利用出来るのでしょうか? に関しては大丈夫です。何度も利用できます。 B列に数値を入力後、マクロを実行してみてください。ちゃんと表示されるはずです。 >今色の付け方で悩んでいます。ペイントがあるはずなんですが? の意味がちょっと判らないのですが、 Excelのバージョンによって多少配置は違いますが、もしセルの色付けのことであれば 色付けをしたいセルを範囲指定 → 画面上側にバケツのアイコンがあると思います。 このバケツのアイコンが塗りつぶしになりますので、そこをクリックして好みの色を選択してみてください。 尚、アイコンの隣り(たぶん)に「A」というアイコンがあると思います、これがフォントの色になりますので、 A列のフォントの色もこれで変えておきます。 (前回のコード内にフォントの色を変えるコードを追加することも可能です) 後半部分がちゃんとした回答になっているかどうかは判りませんが、今回はこの程度で失礼します。 ではでは・・・ m(__)m
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 外していたらごめんなさい。 B列にはA列の同色の行の内一つだけに数値が入り、B列のデータとしては8個しかないという訳ですよね? 一応そういうことだと解釈して・・・ 関数で色を判断し表示させるということはできないと思いますので、VBAでの一例です。 余計なお世話かもしれませんが、同じ数値(同順位)があっても対応できるように↓の画像のように下準備をしています。 A列は1~24までの連番を入力しておき、フォントの色は塗りつぶしの色と一緒にしておきます。 (画像では判りやすくするために、そのまま表示しています) 次にE1セルに =IF(COUNT(B:B)<ROW(A1),"",SMALL(B:B,ROW(A1))) F1セルに =INDEX($A$1:$A$24,SMALL(IF($B$1:$B$24=E1,ROW($A$1:$A$24)),COUNTIF($E$1:E1,E1))) これは配列数式になってしまいますので、この画面からF1セルにコピー&ペーストしただけではまともに表示されないと思います。 F1セルに貼り付け後、数式バー内で一度クリック → 編集可能になりますので、 Shift+Ctrlキーを押しながらEnterキーで確定! → 配列数式になります。 E1・F1セルを範囲指定 → F1セルのフィルハンドルで下へ8行目までオートフィルでコピー! 画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i As Long For i = 1 To 8 Cells(i, 3).Interior.ColorIndex = Cells(Cells(i, 6), 1).Interior.ColorIndex Next i End Sub 'この行まで 尚、作業用の列が目障りであれば非表示にしておいてください。 もし、数値に重複がないのであればA列の数値・作業用の列は必要ありませんがコードが変わってきます。 的外れならごめんなさいね。m(__)m
お礼
ありがとうございます。おはようございます。スゴイですね。完成しています。あとはこの素人に出来るかどうかに懸かっております。頑張ります。これ、何回も利用出来るのでしょうか?今色の付け方で悩んでいます。ペイントがあるはずなんですが?
- 佐藤 志緒(@g4330)
- ベストアンサー率18% (840/4653)
お礼
ありがとうございます。おかげ様で、希望通りに仕上がりました。ご心配ありがとうございます。何回も使用できます。今朝の時点では、少数点を認識して無い感じでしたが、今は大丈夫です。お世話になりました。