『【至急】COLUMN関数について・・・』(茜) エクセルのバージョンは2000です。 万年カレンダーを作成する事になり以下の関数の解説を しなければならなくなりました。。。 万年カレンダー作成者の説明では理解できず、 解説をしようにも出来ません。 その関数とやらがこれです。 =IF(MONTH(DATE($B$4,$B$5,1)+COLUMN()-COLUMN($F$7))=$B$5,COLUMN()-COLUMN ($F$7)+1,"")) 足りない頭で考えまくって出した答えが
「簡単に言うと、COLUMN関数は、【何列目であるか】を求める関数です。 【+COLUMN()-COLUMN($F$7)】これはDATE関数で求めた(年,月,日)がどの 場所からスタートするのかの基準を表します。 この場合、F列の7行目にDATEが始まる。ということになります。 その後に続く【=$B$5,COLUMN()-COLUMN($F$7)+1,""】は 左上の月の部分(今回であれば2月)に+1つきされると3月になるが、 その場合は表示しない。という意味になります。 因みに、【""】とは空欄(表示しない)という意味です。」 と解説したところ、全然違うとのこと・・・。 これ以上上手く説明出来る自信が有りません・・・・。 関数が得意な方、どうかお助け下さい!!! ---- とりあえずCOLUMN関数について誤解されてるみたいです。 COLUMN関数は列番号を返す関数ですから、=COLUMN($F$1)だろうと=COLUMN($F$1000)だろうと結果は変わらず6です。 ですので、=COLUMN($F$7)の7という指定には全く意味がありません。 あとはサッパリですので、まずはどんなシート構成でその関数で何を表示させたいのか説明してみたら良いと思います。 (Jera) ---- この式は、F7セルに入れるのでしょうか? 数式を紐解くには、段階を追って見てみるのが良いと思います。 F 8に =DATE($B$4,$B$5,1) F 9に =COLUMN() F10に =COLUMN($F$7) F11に =F9-F10 ・・・・・・これが COLUMN()-COLUMN($F$7) 部分にあたります。 F12に =F8+F11 F13に =MONTH(F12) F14に =F13=$B$5 F15に =F11+1  ・・・・・・IF関数が真の時 F16に =IF(F14,F15,"") それぞれ式を入れて、列方向にフィルドラッグ。 理解の手助けに成るかどうか分からないですが。。。 もう一度段階を踏んで考えてみてもらえると良いと思います。 (HANA) ---- =IF(MONTH(DATE($B$4,$B$5,COLUMN(A1)))=$B$5,COLUMN(A1),"") ↑ の数式をどのセルでもいいので入力して、右に31セル分フィルコピー 提示の数式と比べて結果がどう違うのか教えてください。 (JPN) ---- B4セルに年度、B5セルに月度が数値で入力されていて G列から右へ日付が設定されているんですな。 COLUMN関数は単純に列番号を返すんで F列の数式として COLUMN() → 引数省略なんで数式がある列番号をそのまま返す → 6 COLUMN($F$1) → F列 なんで 6 COLUMN()-COLUMN($F$1)+1 → 6-6+1 → 1 となる。 コレがG列なら COLUMN() は 7 となり COLUMN($F$1)はF列固定なんで 6のまま 7-6+1 → 2 となる。 ってことだすな。 けど COLUMN($F$1) って 6 固定なんだから COLUMN()-6+1 でいいんでない? (GobGob) ---- あぁ、COLUMN($F$7)か。。。 まぁ、COLUMN関数は行番号は関係ないから無視してチョw。 (GobGob)