人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルの質問。
各シートが同一フォーマットになっており、セルA1の最大値を以下のように検索しました。「max('先頭シート名:最終シート名'!A1)」
これで全シートでの最大値が分かったのはいいんですが、これがどのシートからの値なのかが不明です。返ってきた値がどのシートなのかを返す関数を考えてください。サイトの紹介一切不要です。

●質問者: keronimo
●カテゴリ:コンピュータ
✍キーワード:A1 MAX エクセル サイト セル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● SALINGER
●0ポイント

関数を自作すれば簡単です。

Function Macro1() As String
 Dim max As Long
 Dim strname As String
 
 For Each mySheet In Worksheets
 If mySheet.Range("A1").Value > i Then
 max = mySheet.Range("A1").Value
 strname = mySheet.name
 End If
 Next mySheet
 Macro1 = strname
End Function

2 ● SALINGER
●75ポイント

↑間違ってましたw

Function Macro1() As String
 Dim max As Long
 Dim strname As String
 
 Application.Volatile
 For Each mySheet In Worksheets
 If mySheet.Range("A1").Value > max Then
 max = mySheet.Range("A1").Value
 strname = mySheet.name
 End If
 Next mySheet
 Macro1 = strname
End Function
◎質問者からの返答

これはすごい。使わせてもらいます。


3 ● かえる
●5ポイント

Sheet1:Sheet3!a1というのは3-D参照形式と言います。

これは、max,sum,averageなど、限られた関数でしか使えず、match()関数などでは使えません。

なので、Sheet1!a1からSheet3!a1にデータが入っていて、Sheet4!a1に最大値を入れたとすると、Sheet4!b1に

=if(Sheet1!a1=a1,"Sheet1",if(Sheet2!a1=a1,"Sheet2","Sheet3"))

こんな式を入れてはいかがでしょうか?

◎質問者からの返答

100枚シートがあったら??

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ