
毎月の会員来店記録管理を以下のような表でしています。
|A| B | C | D | E | F | G | ~AK
--+--+--------+--------+--------+--------+----------+----------+--------
2| | NO | 氏名 | 入会日 |来店累計|直近来店日|02/01(火)|02(水)
--+--+--------+--------+--------+--------+----------+----------+--------
3| |A-04-100|○山△子|04/10/10| 25回 | 02(水) | (空欄) | 12:55
--+--+--------+--------+--------+--------+----------+----------+--------
4| |A-04-101|□村×代|04/10/11| 12回 | 01(火) | 10:25 | (空欄)
--+--+--------+--------+--------+--------+----------+----------+--------
G2~AK2はF2に1を足していき、29日以降はMONTH関数の判定で""となっています。
F列およびG2~AK2の書式設定は「dd aaa」となっています。
B~D列はシート「会員名簿」から参照しています。
E列は=IF(D3<>"",COUNT(G3:AK3),"")等として求めています。
G~AK列は来店時間を手入力しています。
以上からF列の値を求めたいのですが、次のINDEX関数では領域番号に何を指定
すれば良いのか判りませんでした。
=INDEX($G$2:$AK$2,1,?)
まるでHLOOKUP関数の逆のようですが、なにか良い方法があればお教え下さい。
No.2ベストアンサー
- 回答日時:
こんばんは。
No.1さんの配列数式でできませんか?
試してみましたが、こちらではできましたけど・・。
>「#VALUE!」が返ってきてしまいました。
配列数式になっています?
{ }が数式の前後についていなければ配列数式になっていませんよ。
{ } ←は手入力ではダメです。
もう一度、{ }のない数式をコピーして貼り付けてください。
<形式を選択して貼り付け>-<テキスト>
↓
そのあと数式バーにカーソルを置いて、Ctrl + Shift + ENTER で確定
↓
自動的に { } が前後に入ります。←コレが配列数式です。
---
◆ついでに配列数式を使わない方法として、
F3セルに↓ではどうでしょうか?
(F列も日付形式にしておいてくださいね)
-----------------------------------------
=LOOKUP(MAX(G3:AK3)+1,G3:AK3,$G$2:$AK$2)
-----------------------------------------
この回答への補足
配列数式の説明、ありがとうございます。
入力については問題なくできていました。
エラーの原因はANo.4のDoragonFangさんのご指摘の
通りでした。
結局、29日以降のMONTH関数の判定を活かせるのは
AloneAgainさんのLOOKUP関数とANo.3のDoragonFang
さんのINDEX関数でした。
今回はAloneAgainさんのLOOKUP関数を利用させて
頂きました。ありがとうございました。
補足に書いてしまいましたが、今回は
AloneAgainさんのLOOKUP関数を利用させて
頂きました。ありがとうございました。
No.4
- 回答日時:
ANo.3です。
追記です。>お教え頂いた配列数式を入力してみましたが、「#VALUE!」が
>返ってきてしまいました。
題意にあるように、29日以降、””になっているからでしょう。
配列数式は範囲内をすべて計算しようとしますが、29日以降の2行目が空欄("")なので、文字列と解釈し、計算できないと判断して、エラーになるのではないでしょうか。
No.3
- 回答日時:
INDEX関数を使うなら、
=INDEX(G$2:AK$2,1,MATCH(MAX(G3:AK3),G3:AK3,1))
という式で出来ると思います。
MATCH関数で入力されている時間の最大値を探し、
その位置を列位置として返しています。
もっとも、ANo.2さんのlookupの方が簡単ですが・・。
MATCH関数についてはヘルプで使用例も読んで
いたのですが、すっかり失念していました。
ANo.4のご指摘も含めてありがとうございました。
いろんなやり方があるものだと関心しました。
No.1
- 回答日時:
配列数式を使ってはどうでしょうか。
INDEXを使う代わりに、F3に
=MAX((ISNUMBER(G3:AK3))*(G$2:AK$2))
と入力して、Ctrl+Shiftを押しながらEnterを押します。
(この押し方は配列数式を入力する方法です。数式バーには{=MAX((ISNUMBER(G3:AK3))*(G$2:AK$2))}と表示されます。)
これをF4から下に必要なだけコピーします。
F3から下の書式は dd aaa にしておきます。
上に書いた式の意味は、「G3:AK3の中の数値セルを1、非数値セルを0とし、これをG$2:AK$2の各セルとそれぞれ掛け算し、その中で最大のものを求めなさい」という意味です。
この回答への補足
早速のご回答、ありがとうございます。
お教え頂いた配列数式を入力してみましたが、「#VALUE!」が
返ってきてしまいました。
>G3:AK3の中の数値セルを1、非数値セルを0とし、
ですが、ISNUMBER関数の返値はTRUEかFALSEですので、
0、1に置き換える必要があると思うのですが、IF関数
ではうまくいきませんでした。
考え方自体は的を得ていると思いますので、自分でも
更に試行錯誤してみたいと思いますが、もし良い案が
ありましたらお教え願います。
ANo.2のAloneAgainさんとANo.3のDoragonFangさんの
ご指摘で表の一部修正で利用可能なことが判りました。
未だISNUMBER関数の返値(TRUEかFALSE)がなぜ計算に
利用できるのかは判らずじまいですが、配列数式の
利用法を含めて新しいEXCELの使い方をご指導頂けて
大変ありがたかったです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- Excel(エクセル) IFERROR、SMALL関数について 2 2022/08/22 23:40
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELのVBAで複数のシートを追...
-
オートフィルターの絞込みをし...
-
勤怠表について ABS、TEXT関数...
-
【マクロ】【画像あり】関数が...
-
空白のはずがSUBTOTAL関数でカ...
-
Excelで4択問題を作成したい
-
エクセルについて
-
エクセルシートの見出しの文字...
-
【Officer360?Officer365?の...
-
エクセルの複雑なシフト表から...
-
Excelに貼ったXのURLのリンク...
-
グループごとの人数のカウント
-
グループごとの個数をカウント...
-
ページが変なふうに切れる
-
エクセル
-
エクセル ドロップダウンリスト...
-
グループごとの人数のカウント
-
エクセル GROUPBY関数について...
-
特定のセルだけ結果がおかしい...
-
VBA チェックボックスをオーバ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報