アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで同一形式の8枚の別シートから1枚のシートへ一番価格が低いものを表示させたいんです。さらに表示させたシートの色に表示させる様にしたいです。

例 
シート1 シート色赤
A 100
B 200
C 300

シート2 シート色青
A 200
B 100
C 300

シート3 シート色黄
A 300
B 200
C 100

合計シート
A 100 赤
B 100 青
C 100 黄

数字だけでも表示できると助かるのですが
やはり色もつけるとなるとマクロを組まないといけないのでしょうか?

A 回答 (4件)

こんばんは!



VBAでの一例です。

>同一形式の8枚の別シート・・・
とありますので、↓の画像のようにSheet見出しの2番目以降に「8枚」のSheetがあり
「合計Sheet」はSheet見出しの一番左に配置してあるとします。

一案ですが、Sheet見出しに好みの色を付けておきます。
(Sheet見出し上で右クリック → 「シート見出しの色」 → 好みの色を選択)

すべてのSheetのA列配置は同一だという前提です。
Alt+F11キー → 画面左の「This Workbook」をダブルクリック → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub test() 'この行から
Dim i, j, k, M As Long
Dim ws As Worksheet
Set ws = Worksheets("合計Sheet") '←「合計Sheet」部は実際のSheet名に!
i = ws.Cells(Rows.Count, 2).End(xlUp).Row
If i > 1 Then
Range(ws.Cells(2, 2), ws.Cells(i, 2)).Clear
End If
For i = 2 To ws.Cells(Rows.Count, 1).End(xlUp).Row
For k = 2 To Worksheets.Count
With ws.Cells(i, k + 1)
.Value = Worksheets(k).Cells(i, 2)
.Interior.ColorIndex = Worksheets(k).Tab.ColorIndex
End With
Next k
M = WorksheetFunction.Match(WorksheetFunction.Min(Range(ws.Cells(i, 3), ws.Cells(i, 10))), _
Range(ws.Cells(i, 3), ws.Cells(i, 10)), False)
ws.Cells(i, M + 2).Copy Destination:=ws.Cells(i, 2)
Next i
ws.Columns("C:J").Clear
End Sub 'この行まで

※ 最小値が複数ある場合は最初のデータが表示されます。
※ 「合計Sheet」のC列以降を作業用の列としていますので、データはない!という前提です。
※ 関数でないのでデータ変更があっても反映されません。データ変更があるたびにマクロを実行する必要があります。

尚、「合計Sheet」のB列に条件付書式が設定してあると色がつかないかもしれませんので
条件付書式は削除しておいてください。

お役に立ちますかね?m(_ _)m
「エクセルで別シートから一つのシートに低い」の回答画像4
    • good
    • 0

補足回答には報告されていませんが、最小値を表示する数式はうまく表示できたのでしょうか?



もしうまく表示できているなら、色を付ける部分は数式を使った条件付き書式で対応できます。

例えばB2セル以下を選択し、ホームタブの条件付き書式から「数式を使用して・・・」を選択して以下の式を入力、「書式」から塗りつぶしを赤にします。

=COUNTIFS(Sheet1!A:A,A2,Sheet1!B:B,B2)

2つ目以降のシートに対応する式についても、「ルールの管理」から「新規ルール」を追加して、上記の式のSheet1をSheet2に変更した数式で条件付き書式を作成してください。
    • good
    • 0

数字だけなら、


=MIN(Sheet1!B1,Sheet2!B1,Sheet3!B1)
で下にドラッグコピーでいかがでしょう。

色もつけるとなると、難しいです。シート名と色と各データの関係表を作ったほうが解りやすいかも。
    • good
    • 0

例えば、Sheet1からSheet8までのB2セルの中で最も小さい数字は以下の数式で求められます。



=MIN(Sheet1:Sheet8!B2)

色も付けるとは具体的にどのセルに色を付けるのでしょうか?

Excelを含むOfficeソフトはバージョンによって操作法や使用できる機能が大きく異なりますので、質問の際にはバージョンを明記するようにしましょう。

この回答への補足

ご回答有難う御座います。
情報不足大変申し訳有りません。

OS windows XP
office Excel 2010
です

色を付けたい部分は一番低い数字を表示させるセルに色を付けたいと思っています。
説明不足で大変申し訳ありません

補足日時:2012/06/28 11:46
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!