
No.4ベストアンサー
- 回答日時:
なるほど。
式を入れているセルの位置がわかったので式の動きが把握できました。こちらで試したときは式はK8に入れていたのでエラーになったようです。この動きを理解するにはまず配列の仕組みを知ることが必要になります。
細かいことは省きますが
=K6:K7-L7
という式はExcelの中では1セルでK6-L7とK7-L7を両方計算していることになります。
数式バーでこの式を全部ドラッグしてF9を押すと
={26;21}
となりますね。これはK6-L7とK7-L7のそれぞれの結果です。普通は配列数式はCtrl+Shift+Enterで確定しますがこの状態で配列で確定すると最初の26だけが反映され結果的にはどちらも同じになります。
ですが今回質問で書かれている式は配列ですが{}では囲まれていません。配列の特性として同行に配列数式があればその行の値が採用されるという仕組みを利用しています。
今回はM6とM7に式を入れていますので結果的には
M6→K6-L7
M7→K7-L7
の式を入れたのと同じ結果を返すことになっているのです。
お分かりになりますでしょうか(^_^;)
配列数式の基礎的な内容については下記リンクを参考にしてください。
“達人”芳坂和行氏に学ぶ、エクセル「配列数式」講座
http://pc.nikkeibp.co.jp/pc21/special/hr/
また、質問の際にはこちらが正しく検証できるように情報はなるべく正しく多めにお願いします。
大変わかりやすいご回答ありがとうございました。しかし、やはり此の式は意味が無いように思います。というのは、実際にはM7の式が縦にコピーしてあります。すると、各セルにおいて、一行前のKのセルの値は何も使用しておらず、同じ行のKとJの値を使ってその差分の日数を算出しているからです。だから、前任者が何故このような式を使ったのかが、今だにわかりません。
No.3
- 回答日時:
>=K6:K7-J7
>の値はなんですか?
実際の式を見ていらっしゃるんですから、それはわかりますよね?
№1でも書きましたし、№2の方も書いてますがこれは配列数式ですので式を入れて確定時にCtrl+Shift+Enterを押さないと結果がエラーになりますし、その通りに確定してもK6-J7の結果しか返りません。
この式単独で使う用途はないと思いますので何かの式に組み込まれているのではないかと思ったのですが。
例えば、
>K6に、10
>K7に、12
>J7に、6
で、普通にこの式を入れて配列数式にすると、K7の結果がどうであれK6-J7の4しか返りませんが
もしも
=MAX(K6:K7-J7)
として配列数式にすると、K7-J7の6が返ります。
実際の式を目にしているのは質問者さんしかいませんので、本当に知りたいと思うのでしたら画面を見ていない人にも状況が分かるように説明をお願いします。
ありがとうございました。すみません。
この変な式は、前任者の方が作ったエクセルファイルの中に入っていた式で、J7が開始日付、K7が終了日付
その間の日数を算出する式が、M7に入っていたのです。
日付は、両方とも縦列に1000行ほど入っています。
M7の式は、K6:K7-J7
これが、M7に入っていました。でも、開始日付から終了日付までの日数を求めるのに、K6は何をしているのかがわかりませんでした。
私も良く意味がわからず困ってしまいました。私も実際にしたほうがいいと思い、セルに値を入れて試してみました。
K6->2015/06/15
K7->2015/06/10, J7->2015/05/20
Mのセルに入れる式・・・
M6: =K6:K7-L7 (試しに比較のために入れた式)
M7: =K6:K7-L7
すると、
・M6の場合、26日
・M7の場合、21日となりました。
M6もM7も同じ式なのですが、それを入れる行が違うだけで答えが違うのは何故なのでしょうか?

No.2
- 回答日時:
その式をそのまま書いたら、ふつ~に#VALUE!のエラーになりました。
配列数式であれば、以下のリンク先のような書き方をしないとうまくいかないし、そもそも今のままでは全く意味不明です。
http://pc.nikkeibp.co.jp/pc21/special/hr/hr1.shtml
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 数式が消える 1 2023/03/19 16:55
- Excel(エクセル) セルを数式で指定する方法 5 2022/04/13 16:55
- Excel(エクセル) Excelで行削除をすると… 1 2023/07/26 11:57
- その他(Microsoft Office) エクセル 条件付き書式 日をまたぐ塗りつぶし 1 2023/01/13 18:00
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
- Excel(エクセル) VBAにてエクセルをpdf化する方法 1 2023/03/10 16:20
- Excel(エクセル) エクセルの関数について 5 2023/01/26 15:26
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- Excel(エクセル) 該当日が期間内に当てはまる場合、開始日と終了日をExcel関数を用いて入力させたい 4 2022/11/21 09:47
- Excel(エクセル) 指定した値以上の中で最小値を出したい 7 2022/10/24 21:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 配列の長さの上限
-
銀行ATMの数字キーの配列
-
2次元配列でエラーがでます。
-
C言語Char型配列に小数値を入れ...
-
配列をEraseしてもメモリが開放...
-
C# Listを使わずに2次元配列の...
-
テキストファイルから文字列を...
-
C言語初心者 構造体 課題について
-
自販機での金銭収受を想定した...
-
アクセスランキングを作成する方法
-
C# 配列の変数宣言について。
-
配列で格納したものをmsgboxで...
-
シーケンスの解析に使うclustal...
-
配列とポインタについて。 配列...
-
【C言語】配列の中に配列を入れ...
-
C言語で特定列だけを抽出して配...
-
ゼロサプレスって?
-
vectorで文字列の配列を使う方法
-
配列を使わずに、変数名を動的...
-
ExcelVBAで質問です。離れた二...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
C# Listを使わずに2次元配列の...
-
配列を使わずに、変数名を動的...
-
配列で格納したものをmsgboxで...
-
【速いブラインドタッチ】手を...
-
配列をEraseしてもメモリが開放...
-
ExcelVBAで質問です。離れた二...
-
Redimした動的配列はEraseする...
-
C# 配列の変数宣言について。
-
複数の選択範囲の行番号を個別...
-
VBで構造体の配列を関数に渡す...
-
先頭アドレスとは何ですか?
-
配列の参照渡しで型が一致しま...
-
銀行ATMの数字キーの配列
-
配列を含む構造体の初期値について
-
C言語で特定列だけを抽出して配...
-
unsigned char配列への入力の仕方
-
VB.NET 構造体の配列の検索機能...
-
C++ vectorに配列をプッシュしたい
-
C言語初心者 構造体 課題について
おすすめ情報
例えばですね
K6に、10
K7に、12
J7に、6
と値が入ってるとします
すると、
=K6:K7-J7
の値はなんですか?
その理由も教えてほしいです・・・(*^_^*)