下記のようなリストがあります。
常に一番右にある数量をG列に表示したいのですが、計算式を教えてください。
A列からF列までの範囲の中で一番右の値を表示する計算式は分かるのですが、
その計算式だと数量欄がブランクの時、日にちが表示されてしまいます。
1列におきに範囲指定したいのですが、どうしたらいいですか。
A列 B列 C列 D列 E列 F列 G列
日にち 数量 日にち 数量 日にち 数量
4/1 50 4/2 60 4/3 100
4/25 90 4/5
宜しくしお願い致します。
No.1
- 回答日時:
こんばんは!
一例です。
G2セルに
=INDEX(A2:F2,MAX(IF((MOD(COLUMN(A2:F2),2)=0)*(A2:F2<>""),COLUMN(A2:F2))))
配列数式なのでCtrl+Shift+Enterで確定!(←必須★)し
フィルハンドルで下へコピーしてみてください。
※ エラー処理はしていません。m(_ _)m
ありがとうございます!!
G2セルに教えて頂いた数式を入れたらできました。
そして下にコピーしたら理想の結果になりました。
しかし。。。実際の仕事のファイルでやってみたらうまくいきません。
4個所ある【A2:F2】を任意の範囲にすればいい気がするのですが、
指定した範囲内の書式の制限等はあるのでしょうか。
ちなみに、日付書式と文字列書式が入っています。
範囲内に計算式が入ってるとできないようですね。
No.2ベストアンサー
- 回答日時:
お礼に対するNo.1の回答者さんからの追加回答がされませんね。
> 実際の仕事のファイルでやってみたらうまくいきません。
実際のデータの配置を書かれたほう良いと思いますよ。
No.1にある配列数式の意味が理解できないと、応用できません。
おそらく応用できない部分で理解されていないと思われる関数が、
COLUMN(A2:F2)の部分だと思います。
参照する範囲がA列からでない場合でも、配列の列番号を取得する
COLUMN(A2:F2)を変えると列番号がずれるので、結果が違ってくる
からです。
http://www.excel-list.com/column.html
数式の意味
{=COLUMN(A2:F2)}
は、「={1,2,3,4,5,6}」を意味します。
もしも2列ずらして
{=COLUMN(C2:H2)}
にすると、「={3,4,5,6,7,8」になってしまいます。
これだと、INDEX関数での範囲に対する行列の指定がずれるので、
正しい値にならないのです。
この場合、
=INDEX(C2:H2,MAX(IF((MOD(COLUMN(A2:F2),2)=0)*(C2:H2<>""),COLUMN(A2:F2))))
にすることで、2列のずれも修正されます。
(もちろん、配列数式にしておくことをお忘れなく)
ありがとうございます!!
詳しい解説まで頂きすごく納得しました。
なぜMAX関数なのだろうと思っていたのですが、
列番号の最大値(=一番右のセル)ということですね。
本当に助かりました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Excel(エクセル) エクセルのマクロ作成について教えてください 5 2023/02/20 00:39
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) エクセルのセルの書式設定・ユーザー定義の条件設定について 1 2022/08/17 21:56
- Excel(エクセル) エクセルの計算式を教えてください 3 2023/03/14 13:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
えABのある列って
-
LEFT関数とIF関数の組み合わせ...
-
CSVファイルの「0落ち」にVBA
-
土日の列幅の自動変更を教えて...
-
エクセル 重複したデータを別...
-
VBAで別ブックの列を検索し、該...
-
最終行に合計(最終行が列によ...
-
エクセル 選択するマクロ
-
オートフィルターの複数抽出と...
-
VBAで結合セルを転記する法を教...
-
データシートビューのタイトル...
-
百マス計算の引き算作り方を教...
-
Excel2007で行の列をひとくくり...
-
アクセス 取り込み時に、桁数(...
-
エクセルマクロでオートフィル...
-
csvデータの列の入れ替えができ...
-
エクセルマクロ、アウトライン...
-
Excelの行数、列数を増やしたい...
-
エクセルでB列とD列を比較させ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
VBA 指定した列にある日時デー...
-
CSVファイルの「0落ち」にVBA
-
エクセルで複数列の検索をマク...
-
Excelの行数、列数を増やしたい...
-
エクセルマクロの組み方
-
エクセルマクロPrivate Subを複...
-
リストからデータを紐付けしたい
-
エクセルのソートで、数字より...
-
エクセルで住所を県と市・郡と...
-
VBAで別ブックの列を検索し、該...
-
VBA
-
Excel文字列一括変換
-
エクセル 重複 隣の列 一番...
-
列方向、行方向の定義
-
Alt+Shift+↑を一括で行うには、...
-
VBAで結合セルを転記する法を教...
おすすめ情報