長文です。
目標:
調べたい日付を入力すると、基準日に従ってレコード番号を表示する。
レコードは現在のところ1~20まで。今後、100以上に増える予定(増える数,期間はランダム)。
動作:
基準日を例えば2005/6/28とした場合。
2005/6/29に開くのは1レコード目
2005/6/30に開くのは2レコード目
~
2005/7/18に開くのは20レコード目
2005/7/19に開くのは1レコード目
ただし、上記期間にレコードの登録25に増えた場合
2005/7/19に開くのは21レコード目
~
2005/7/23に開くのは25レコード目
2005/7/24に開くのは1レコード目
という動作をします。
定義:
使える引数は”基準日”,”調べる日付”,”現在登録済みのレコード数”のみ。
使用するのはエクセル関数のみでマクロはだめ。
日付のシリアル値とMODを使ってやってもなかなかうまくいきません。
使える引数に”レコードを追加した日”って重要?
こんなようなことって簡単に出来るのかな?
No.1ベストアンサー
- 回答日時:
「日付のシリアル値とMODを使ってやってもなかなかうまくいきません」ということですが、どのような事象になるのでしょう。
以下の数式でうまくいくと思うのですが、もしかしたらセルの書式が正しく設定されていないだけかもしれません。
”基準日”がA1
”調べる日付”がA2
”現在登録済みのレコード数”がA3
としたら、
=MOD((A2-A1),A3)
ただしこれだとちょうど”現在登録済みのレコード数”の場合、0になってしまうので、正しくは
=IF(MOD((A2-A1),A3)=0,A3,MOD((A2-A1),A3))
基準日より前の日付の指定については記述がなかったので考慮していませんが、もしかしたら対応が必要かもしれませんね。
この回答への補足
早速回答ありがとうございます。
しかしながら、私もこの方法を試し以下のようになっいます。
レコード数が増えたとたんに数値が飛ぶ。。。
基準日 2005/6/28
日付,現在登録済みのレコード数,結果
2005/7/18,20,19
2005/7/18,20,20
2005/7/19,20,1
2005/7/20,20,2
2005/7/21,25,23
2005/7/22,25,24
期待値
基準日 2005/6/28
日付,現在登録済みのレコード数,結果
2005/7/18,20,19
2005/7/18,20,20
2005/7/19,20,1
2005/7/20,20,2
2005/7/21,25,3
2005/7/22,25,4
No.2
- 回答日時:
問題のいみ(使われる場面)が未経験なためか、よくわかりません。
「動作」とは、関数値が返す値のこと?。
>日付のシリアル値と・・
と表現しているから、エクセルでは日付は正整数値であることは知っていますか。
であれば、質問を下記のように言い換えて、言い尽くせない点はありますか。
「1つの日付(数)を指定すると対応した数を返してくれる関数はあるか」
これならVLOOKUP関数など使えないですか。
「2レコード目という動作をします」とは2という数字を返すのか、それとも、そういうワークシートを開いてほしいなどのことか。
>使用するのはエクセル関数のみでマクロはだめ。
人間が言い表すと簡単でも、エクセルやエクセル関数では複雑な回答になるったり、不可能のケースがある(多い)から
質問をする以上VBAも勉強(はじめはまるごと利用)する覚悟でなくては
と思いますが。
この回答への補足
”レコード”紛らわしい言葉を使ってしまいました、すみません。
とりあえずこのエクセルシートに求めるのは日付を入力したら、数を表示するだけです。
vlookupを使うのはいやです。
せっかく自動化しようというのに、そのようなシートを作るだけ労力の無駄かと...あと、勉強にもなんないし。
VBAを使って、"基準日","調べる日","前回までの登録数履歴","今の登録数"で出来るにはできましたが、何とか関数でやれる知恵はないかと思い質問させていただきました。
No.3
- 回答日時:
基準日がA2
指定日がB2
登録済みレコード数がC2
の時
指定日のレコード目は
=IF(0=MOD(DATEDIF($A$2,B2,"d"),$C$2),$C$2,MOD(DATEDIF($A$2,B2,"d"),$C$2))
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) エクセル テーブル機能の不明点 2 2022/04/14 14:10
- ドメイン・サーバー・クラウドサービス 独自ドメインでのNSレコード設定 1 2023/07/12 18:36
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- スピーカー・コンポ・ステレオ レコードのマトリクス番号の見方を教えてください。 最近レコードの知識が少しずつ増え、最近マトリクス番 1 2022/08/14 13:58
- その他(音楽・ダンス・舞台芸能) 「録音品質の良い」オススメのレコードを教えてください。 皆様のお持ちのレコードで「これは音がいい!」 8 2022/08/08 14:45
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Access(アクセス) accessについて(超初心者です) 1 2023/02/11 11:18
- その他(AV機器・カメラ) レコードの針圧とアンチスケーティングの調整について。 レコードに関する質問です。宜しく御願い致します 2 2022/09/05 16:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
はがきについて。
-
エクセル 文字を増やしたい。
-
セルの内容表示が邪魔になる
-
Microsoft365に変えたのですが...
-
エクセルの計算
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
Excel ピボットテーブルで日付...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
Excelのチェックボックスの使い...
-
エクセル 白黒印刷で白線を印刷...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの条件付き書式につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報