例年この時期に必ず苦労して困っています。質問させてください…
毎年毎年、販売個数を出すのに列を削除する方がいて、ミスが起きたり作り直しとか大変でとても困ってます。
列を削除してもSUMproductの関数がつかいたいのですが、
=SUMPRODUCT($C$3:(ADDRESS(3,(MATCH("枚数"),0)-1),1),C4:(ADDRESS(3,(MATCH("枚数"),0)-1),4)))
みたいな感じで考えて見たのですがエラーメッセージでお手上げです…
どうにか個数と書いたの手前の行までの掛け算をする数式ができないでしょうか
よろしくお願いします!
No.11ベストアンサー
- 回答日時:
又 訂正です、
=SUMPRODUCT(INDIRECT("C3:"&ADDRESS(3,MATCH("枚数",INDIRECT("C3:Z3"),0)+2)))
何度も 申し訳ない、
こっちですね。
そして応用編が、
=SUMPRODUCT(INDIRECT("C3:"&ADDRESS(3,IFERROR(MATCH("枚数",INDIRECT("C3:Z3"),0),COUNTA(INDIRECT("C3:Z3")))+2)))
此方は、
もし "枚数"記載列をも、
削除してしまっても、
まあ 取り敢えずは、
エラーには ならない、
式です。
確認くださいね。
後、
解説を ご所望に、
なられる場合は、
そう、
お申し付けくださいね。
追記、
いゃ〜、
楽しませて 頂きました、
久々に、
頭が 回る、
噛み応えの ある、
課題でした、
いい課題を 有り難うです。
感動的です…!後で質問文を見直してみて何がおかしというと質問文が一番おかしいという失礼な事をしてしまった中、
たくさんの答えを出していただきありがとうございます!!
出来ました!
indirectの関数の使い方、全く理解してなかったです。
本当にありがとうございました!
とりあえず出来ましたが、応用編も研究してみようと思います!
No.10
- 回答日時:
しかし 此のままだと、
C列か、Z列の、
削除に 伴い、
エラーが 出たり、
検索範囲が 縮まったり、
する、
と いう事ですね。
ならば、
=SUMPRODUCT(INDIRECT("C3:"&ADDRESS(MATCH("枚数",INDIRECT("C3:Z3"),0),3)))
ですかね?
確認くださいね。
No.9
- 回答日時:
2019/04/20 13:24 の補足に対する返答です。
>シートの列保護ですが、目安を印刷したい理由で保護を解除して列を減らして印刷とかもあったので
(´・ω・`)
列を「削除」するのではなく「非表示」にすれば良いだけですよ。それ。
または印刷する場合は別のBookとして保存し直してから列を削除するようにルールを作る。
なんでそんな理由で責任を負う必要があるのか、自分には分からない。
関数やマクロが少しできるから対応してみようと思うのは悪いことではありません。
でもそこで考えて欲しい。
根本的に何が間違っているのか。そしてどうすれば解決できるかを。
No.7
- 回答日時:
舗装 頂いた、
内容を、
素直に 其のまま、
読めば、
=SUMPRODUCT(OFFSET(
$C$3,0,0,1,MATCH("枚数",$C$3:$Z$3,0)))
ごうですかな?
No.6
- 回答日時:
こんにちは!
関数でどうしても列削除に対応したいのであれば、
INDIRECT関数を併用すればできそうですが、お示しの数式ではエラーになると思います。
具体的な配置がどのようになっていて、どのような処理をしたいのか?が判れば
少しはお役に立てるかも・・・m(_ _)m
No.5
- 回答日時:
VBを 学ぶのと、
VBAを 学ぶのとでは、
意味合いが 全く、
違います、
機械語と 高級言語程の、
差が あるのですから。
そして、
VBAを 学ぶという事は、
シートを 知り尽くす、
と いう事であって、
質問者が 仰られる、
此は、
其の内の 基礎的な、
最たるもの。
故に、
ヤジ内容は 不当ですよ?
さて、
MATCH("枚数")
此が どうにも、
解せません、
此の部位で、
望み通りの 列位置を、
知り、
指定したいものと 思うのですが、
名前定義でも 無さそうですし、
構文構造からも 外れていますよね、
因みに 本筋なら、
MATCH構文は、
MATCH(検索指標値,検索範囲セルアドレス,0)
等々と 書きますよね?
又、
MAX(INDEX((検索指標値=検査範囲セルアドレス)*COLUMN(検査範囲セルアドレス),"")
等とも 書きますよね?
因みに 後者なら、
途中列を 削除しても、
エラーは でなかったと、
思いますが、
作成意図は、
どの様な ものだったのですか?
抑も、
アドレス構文でも、
まあ 良い訳ですが、
しかし、
二回 持ちいないと、
セル範囲指定が 出来ませんよね?
此を 例えば、
Offset構文等に すれば、
位置算定等を 除けば、
1構文で 済みますよね?
兎に角 此のままでは、
ご意図が 伝わってきませんので、
ご意図の 解説を、
お願い できますか?
No.4
- 回答日時:
式の中身を個別に確認してみては。
ADDRESS関数の行列指定は正しいのでしょうか?
http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/ …
MATDH関数の指定で列を取得できているのでしょうか?
http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/ …
SUMPRODUCT関数でのエラーの原因を探すほうが先だと思います。
http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/ …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- Excel(エクセル) 荷捌作業効率をあげるためのエクセル関数を教えてください。 8 2022/10/07 08:17
- Excel(エクセル) エクセル/列追加時、合計行の計算式 7 2023/03/15 11:14
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 年齢ごとの商品の販売個数を集計しようとしています。 a列が日付、b列が年齢、c列が販売個数のばあいで 4 2022/09/26 22:35
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- Excel(エクセル) 図書カードの分配 7 2023/05/09 15:57
- Excel(エクセル) Excel関数の質問です。 5 2022/04/23 12:53
- 財務・会計・経理 【仕訳】集計されて引かれる販売手数料について 5 2023/04/26 15:32
- その他(Microsoft Office) Excel2019と365、2021 2 2023/07/08 06:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
すみません、個数と書いたつもりが枚数になってました。
そしてカッコの数はおかしいかもしれないです。
色々不足があって申し訳ないです。
関数に詳しいわけでもなく初心者なので、
エクセルヘルプを参照しながら何とか考えた次第です。
そしてMATCHの("枚数",$C$3:$Z$3,0)と書いてあったはずが…何故かこんな風に変わっていました。申し訳ございません
色々不足があって申し訳ないです。
もちろん関数に詳しいわけでもなく初心者なので、
エクセルヘルプを参照しながら何とか考えた次第です。
そしてMATCHの("枚数",$C$3:$Z$3,0)と書いてあったはずが…移動中に打ってたら何故こんなことに…。申し訳ございません。
offset関数も考えたのですが、難しくて"枚数"の位置と一致させれないかな…そしてその一つ前の列まで金額が入っているのでその列の位置をaddressで出して
SUM productにの配列の指定に組み込めないかと思っていた次第です…
addressとMATCHを使ったところでは予定通りの$Y$3とY4のアドレスをゲット出来ていたのですが…
そうなのです。
SUM productがおかしいです
=SUMPRODUCT($C$3:(ADDRESS(3,(MATCH("枚数",$C$3:$Z$3,0)-1),1),C4:(ADDRESS(4,(MATCH("枚数",C4:Z4,0)-1),4)))
と元々つくってSUMproductの配列の指定に失敗しています…。
C3からの3行目に金額が入っておりそのラストが枚数と書いてあるので、
その一つ前のセルのアドレスを指定したらいいのでは?と思ってやって見たのです。
そして、シートの列保護ですが、目安を印刷したい理由で保護を解除して列を減らして印刷とかもあったので
それで解決できていない現状です。
質問する時にエラーが出てしまい、直しているうちにおかしな事をしていたようです。
申し訳ございません。