簡體   English   中英

獲取用戶輸入的月份和年份以在 Excel 中使用該月份和年份的日期填充單元格

[英]Get user input for month and year to populate cells with dates of that month and year in excel

我想從用戶年和月中獲取兩個輸入,然后在 Excel 中使用該月和年的日期填充單元格。

例如:

輸入年份:2017

輸入月份:Jan

日期
1/1/2017
1/2/2017
1/3/2017
2017 年 1 月 4 日。 . . .

輸入月份和年份時,單元格應自動填充。 感謝您提前提出建議。

沒有上下文,就不清楚你需要什么。 您希望用戶在對話框中輸入數據還是在兩個單元格中輸入數據? 預計用戶輸入日期的格式是什么? 例如,一月是否應輸入為“Jan”、“January”、“1”等? 您可能只需要設置 31 個引用輸入單元格的公式,但您首先需要准確指定如何處理該輸入。

編輯:

這意味着是評論,而不是答案,所以這是我的實際答案:

在單元格 A1 中,設置數據驗證規則。 規則應該是一個列表,其來源為“Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec”,或者如果您願意,可以使用更長的形式。 現在,當您嘗試編輯此單元格時,您可以從月份的下拉列表中進行選擇。

在此處輸入圖片說明

如果您還想限制年份范圍,您可以在單元格 B1 中執行類似操作。 只需在源字段中創建逗號分隔的有效年份列表。

在單元格 A3 到 A33 中輸入數字 1 到 31,然后在單元格 B3 中輸入此公式:

"=DATEVALUE(A3&"-"&$A$1&"-"&$B$1)"

自動填充/復制到 B33。 DateValue 函數采用計算出的字符串(例如“2017 年 2 月 13 日”)並將其轉換為日期,然后您可以根據需要設置任何格式。 請注意,這將產生錯誤“#VALUE!” 如果任一輸入單元格為空或所選月份沒有 31 天,但您可以根據自己的需要進行修改。

假設這個。

單元格 b1 將輸入作為月份,創建一個名稱范圍 rng

單元格 d1 將輸入作為年份,創建一個名稱范圍 yearsamp

第 I 列和 J 列有這個,在 j3 中有一個公式。

=IF(MOD(yearsamp,4)=0,29,28)

month days 1 31 2 29 3 31 4 30 5 31 6 30 7 31 8 31 9 30 10 31 11 30 12 31

將單元格范圍上方的名稱命名為月日

在 A2 中使用此公式並填寫

=IF(VLOOKUP(mnth,monthdays,mnth,FALSE)>=ROW(A2)-1,DATE(yearsamp,mnth,ROW(A1)),"N/A")

這是實現這一目標的另一種選擇

您也可以使用此公式。如上所述進行設置。

在第一個日期的第一個字段在 A2 上輸入

=DATE(d1,MATCH(b1,I1:I12,0),1)

在 A3 上寫下這個公式並填寫

=IF(ROW(a2)-1<VLOOKUP(mnth,mnthdays,2,FALSE),a2+1,"")

由於您有 31 個帶有公式的單元格,當月日計數小於 31 時,它會返回錯誤,但此公式將這些單元格顯示為空白而沒有錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM