定義シートに支払方法のリストが作ってあり、データベースとなる入力シートで支払い方法をA列にリストから選択で入力、B列に計上日を入力すると、C列に支払方法に合わせた支払い予定日が自動で入るようにしたいと思い、以下のようにしました。
入力シート B列の$B$2セル以下は「計上日」という名前を定義。
C列には=INDEX(支払予定日関数,MATCH(A2,支払方法,0),2)を設定し、定義シートB列の関数を引いて来る
定義シート 下記の$A$2:$B$4には「支払予定日関数」の名前を定義
$A$2:$A$4には「支払方法」の名前を定義
ほかに祝日一覧を作り「祝日」の名前を付けてあります。
A列 B列
2 現金 =計上日
3 普通預金 =計上日
4 カード =IF(DAY(計上日)<16,WORKDAY(WORKDAY(DATE(YEAR(計上日),MONTH(計上日)+1,10),-1,祝日),1,祝日),WORKDAY(WORKDAY(DATE(YEAR(計上日),MONTH(計上日)+2,10),-1,祝日),1,祝日))
ところが、うまくいきません。「支払い予定日関数」の行列を入れ替えたり、B列の関数の前に「”」や「’」をつけてみたりしたけど、たとえば、6行目の計上日の答えをほしいのに、カードであれば、計上日列トップから数えて3行目の計上日に対応する日付が返るのです。「支払い予定日関数」でカードが3行目だからですね。何を直したらいいのでしょうか?
No.5ベストアンサー
- 回答日時:
No.2,3,4です。
「○○日締め翌○○日払い」がいろいろあるのでしょうか。
だとすると、表にすべきはこの日付ですね。
「支払予定日」(名前定義します)
カード名 締め日 支払日
カードA 15 10
カードB 25 20
・・・
=IF(OR(A2="現金",A2="普通預金"),B2,WORKDAY(EOMONTH(B2-VLOOKUP(A2,支払予定日,2,0),1)+VLOOKUP(A2,支払予定日,3,0)-1,1))
条件に応じて工夫してみてください。
No.3
- 回答日時:
蛇足ですが・・・。
セルの参照は、名前定義をしたとしても、あくまでも値の参照です。「支払予定日関数」が参照元の計上日に応じて値を変化させることはありません。
そういうところが、文系・独学・自己流であてずっぽうに体で覚えてきた私のような人間は苦手なんです。テレビをたたいて直してきたやり方でエクセルいじってます。勉強になりました。ありがとうございました。
No.2
- 回答日時:
定義シートは使いません。
入力シートのC2に以下の式を入力してください。
=IF(A2<>"カード",B2,WORKDAY(EOMONTH(B2-15,2)+9,1,祝日))
条件を読み違えていましたらごめんなさい。
この回答への補足
例えばあるカードの支払いが「15日締め翌10日払い」でしたので、cafe_au_laitさんの式を一部直し
=IF(A2<>"カード",B2,WORKDAY(EOMONTH(B2-15,1)+9,1,祝日))
にしたら、なるほど計上日に合わせた引き落とし日が返されました。一歩前進です。
ありがとうございます。
問題は、私がたくさんカードを持っていることです。それで支払い予定日関数の表を作り、カードの種類に合わせた関数をINDEXで引っ張ってこられないかな、と思ったのです。
No.1
- 回答日時:
>B列の$B$2セル以下は「計上日」という名前を定義。
すると名前定義の「計上日」は複数のセル範囲なのですか?
DAY関数、YEAR関数、MONTH関数は複数のセル範囲は指定できませんよ
DAY(B1) や YEAR(C2)
のように一つのセルを指定してください。
試しに「4 カード」の式で「計上日」を単一のセル(例えばA1)に変更してみてください。A1の日付を変更すると正しい結果が得られませんか?
またここにも「計上日」が現れますね。これは質問と何か関係ありますか?
> 2 現金 =計上日
> 3 普通預金 =計上日
名前定義の「計上日」だとしたら、そんな式はありません。#VALUE!エラーになるはずです。
質問に本当に聞きたいこと以外のことを色々書かれると回答する側は混乱しますので、ポイントは絞って質問する方がよいですよ
この回答への補足
うまく説明できず、申し訳ありません。「計上日」という名前は列のトップのタイトルを除く列全体につけたものですが、「=IF(DAY(計上日)<16,WORKDAY(WORKDAY(DATE(YEAR(計上日),MONTH(計上日)+1,10),-1,祝日),1,祝日),WORKDAY(WORKDAY(DATE(YEAR(計上日),MONTH(計上日)+2,10),-1,祝日),1,祝日))」というカードの引き落とし予定日の関数を入力シートの支払い予定日に直接張り付けてみたところ、ちゃんと計上日に合わせた引き落とし日が返りました。cafe_au_laitさんの関数でもOKでした。問題は、入力シートの計上日の隣に直接IF関数で設定するには、私のカードの種類が多すぎることなのです。それで、別に引き落とし日一覧を作り、カードの種類に応じて設定した関数をINDEXで引っ張れないかなと思ったのです。
補足日時:2008/02/13 15:23お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 関数を教えてください 2 2022/12/29 21:01
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
- Excel(エクセル) 列を自動で追加したい 3 2022/07/11 12:58
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) vbaで条件付き書式を設定したときの適用範囲について 1 2023/07/17 23:14
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) エクセルの日報作成について 3 2023/07/05 12:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別シートからの文字を変更
-
エクセルの行の抽出について質...
-
Excel 2019 のピボットテーブル...
-
Excelのセルを飛ばして入力する
-
【マクロ】エクセルにかいてあ...
-
Excelのオートフィル
-
Excel初心者です。 詳しい方、...
-
スプレッドシート クエリ関数 1...
-
MOS365 Excel Expert / Excel R...
-
西暦や和暦の表示をyyyymmdd表...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセルの数式で教えてください。
-
スプレッドシートの関数VLOOKUP...
-
エクセルでセルに「氏名を入力...
-
エクセルで指定した日付、店舗...
-
【Excel】セル内の時間帯が特定...
-
Excelのグラフ軸について
-
Excel 2019 は、SPILL機能があ...
-
関数を教えて下さい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報