A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
>MackyNo1さんに教えていただいたやり方ではシート1~20まででしたが、20のとこを「一番後ろにあるシート」にするにはどんな関数(?)を使えばいいんでしょうか?たぶんこれからシートの枚数が膨らんでくるので、シート番号指定だといちいち数式書き直さないといけないですよね・・・
基本的に関数で集計する場合は、集計対象が変更になれば当然のことですが以下のように数式を変更する必要があります。
=MAX(最初のシート名:最後のシート名!C6)
この場合でも、最大値については、上記のように最初のシート名と最後のシート名で串刺し集計ができますが、参考までに提示した各シートのA1セルを参照する数式では、シート名が「Sheet1」のようにSheet+数字になっているケース以外には適用できません。
もし、各シートのC6セルやA1セルの値でデータ処理したいなら、別シートに各シートのデータを引っ張ってきて、このデータ範囲を数式処理をする方が簡単です。
ちなみに、この場合でもシート名が数字で規則的になっているなら、以下のようなINDIRECT関数が利用できます(例えばSheet2以下のA1セルを表示する場合)。
=INDIRECT("Sheet"&ROW(A2)&"!A1")
No.3
- 回答日時:
No.2です!
ある程度希望に近い形になったみたいでよかったですぅ~!
>C3にサブジェクト名を・・・
とありましたが、質問では「C2」に代入となっていましたので、Offset部分をあのようにしてみました。
C3セルに表示したいのであれば、前回のコード内の
.Offset(, 2) = Worksheets(k).Range("B2")
の行を
.Offset(1, 2) = Worksheets(k).Range("B2")
に変更してみてください。
C3セルに表示されると思います。
それから
>最大値と最小値を1~10位まで抜き出したり・・・
とありますので、
前回のコードの最終行
ws1.Columns(1).Delete (xlToLeft)
を削除して一度マクロを実行してみてください。
作業用の列としてA列を挿入し、A列に各SheetのC6の値を表示させ、
その後の処理をして最後にA列を削除するコードにしていましたので
A列のデータを残したままにすれば最大値と最小値の 1~10位までの抜き取りも
Large関数・Small関数を使用すれば可能だと思います。
尚、余計なお世話かもしれませんが、
A列に表示されたデータが各SheetのC6のデータになっていて、
A列の行番号が各SheetのSheet番号(何番目のSheetか)になるようにしていました。
具体的にどのセルに順位を表示させれば良いのか判らないので
この程度しか書けません。ごめんなさい。
お役に立てばよいのですが・・・m(__)m
No.2
- 回答日時:
こんにちは!
VBAで無理矢理って感じの方法になってしまいますが・・・
統計処理用シートをSheet1として、20SheetはSheet2以降にあるとしています。
Altキーを押しながらF11キーを押してみてください。
VBE画面が出ますので、↓のコードをコピー&ペーストしてマクロを実行してみてください。
Sub test()
Dim i, j, k As Long
Dim ws1 As Worksheet
Set ws1 = Worksheets("sheet1")
j = ws1.Cells(Rows.Count, 1).End(xlUp).Row
ws1.Columns(1).Insert
For i = 2 To Worksheets.Count
ws1.Cells(i, 1) = Worksheets(i).Range("C6")
Next i
k = WorksheetFunction.Match(WorksheetFunction.Max(ws1.Range("A:A")), _
ws1.Range("A:A"), False)
With ws1.Range("B2")
.Value = Worksheets(k).Range("C6")
.Offset(, 1) = Worksheets(k).Range("A1")
.Offset(, 2) = Worksheets(k).Range("B2")
End With
ws1.Columns(1).Delete (xlToLeft)
End Sub
尚、同じ最大値が複数Sheetにある場合は最初のSheetのデータが表示されると思います。
そして、一旦マクロを実行すると元に戻せませんので、
できれば別Bookにコピーしてマクロを試してみてください。
以上、参考になれば良いのですが
他に良い方法があればごめんなさいね。m(__)m
統計処理用シートのA2セルに各シート同一セル上の最大値を求めるのと、B2セルに最大値を出したシートのサブジェクトIDを出すことができました!C3にサブジェクト名を出すことはできませんでしたが、VBAの記述をいじりながらチャレンジしてみます。
あと、最大値と最小値を1~10位まで抜き出したりとかもやってみます。
学校でグループワークの実験レポートを作成してるんですが、「お前パソコン詳しいからエクセル係な」って無茶振りされて(笑)、困ってたので本当に助かりました。
ありがとうございました。
No.1
- 回答日時:
多数のシートの同じセルに入力されている数字の最大値を求めることは以下のような関数で可能ですが、その最大値の含むシートのセルの値を求める関数はありません。
A2セル
=MAX(Sheet1:Sheet20!C6)
少し工夫するなら、例えば、B2セルに以下のような関数を入力しておき、数式バー上で、「INDIRECT("Sheet"&ROW(A1:A20)&"!A1")」と「INDIRECT("Sheet"&ROW(A1:A20)&"!C6")」の部分をそれぞれドラッグして選択し、F9キーを押して配列定数にすれば、最大値の含むシートのA1セルの値を表示できます。
B2セル
=INDEX(INDIRECT("Sheet"&ROW(A1:A20)&"!A1"),MATCH(A2,INDIRECT("Sheet"&ROW(A1:A20)&"!C6"),))
ありがとうございました。さっそくやってみました。
今回の処理では、シート2以降サブジェクトごとの主に数字データを入力していき、シート1を統計処理用にして各シートの同一セルの数字を参照してサブジェクト順に並べたりということをしたいんです。
MackyNo1さんに教えていただいたやり方ではシート1~20まででしたが、20のとこを「一番後ろにあるシート」にするにはどんな関数(?)を使えばいいんでしょうか?たぶんこれからシートの枚数が膨らんでくるので、シート番号指定だといちいち数式書き直さないといけないですよね・・・
ほんとは自分で調べないといけないんだろうけど、ちょっとせっぱつまってて困ってます。
教えていただけると嬉しいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) 再質問です。エクセルでシートが1から31まであり、日付けが入力されているセルがあります。シート1から 4 2022/08/02 23:08
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
エクセルで条件に一致したセル...
-
日付が未入力の際はゼロか、空...
-
(Excel)あるセルに文字を入力...
-
エクセルの文字
-
エクセルで1月0日と表示される!!
-
Excelで複数シートの選択セルを...
-
別シートのセルを絶対参照にする
-
Rangeメソッドは失敗しました。...
-
エクセルで20万行あるシート...
-
Excelのファイル容量が減らない...
-
シート参照で変数を使いたい(EX...
-
VBAで変数に関数式の結果をセッ...
-
マクロの書き方を教えて下さい
-
excelでハイパーリンクになって...
-
Excelシートの保護時にデータの...
-
複数シートの同じセル内容を1シ...
-
EXCELマクロで、シート間でのコ...
-
Excelでスクロールすると文字が...
-
自動で複数セルの内容をシート...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
エクセルで1月0日と表示される!!
-
エクセルで条件に一致したセル...
-
(Excel)あるセルに文字を入力...
-
Excelで複数シートの選択セルを...
-
Rangeメソッドは失敗しました。...
-
シート参照で変数を使いたい(EX...
-
別シートのセルを絶対参照にする
-
エクセルで複写のように自動入...
-
Excelシートの保護時にデータの...
-
excelでハイパーリンクになって...
-
エクセルで別シートからの最大...
-
複数シートの同じセル内容を1シ...
-
エクセルで20万行あるシート...
-
ExcelでTODAY関数を更新させな...
-
EXCEL関数でシート名が変わる可...
-
エクセルで、加筆修正したセル...
-
Excelのファイル容量が減らない...
-
エクセル ハイパーリンクで画像...
おすすめ情報