ここから本文です

エクセル(2010)で、「斜めにあるセル(右上、左下)」を加算する関数式などを、...

rey********さん

2012/8/810:54:48

エクセル(2010)で、「斜めにあるセル(右上、左下)」を加算する関数式などを、知ってますか?

エクセルの表で数値が記載されています。

下記のように、「斜めにあるセル(右上、左下)」を加算していきたい のですが、関数式などで簡単にできる方法を教えてください。
(セルを一つずつ選択するのに、膨大な時間がかかりまして。。。)


A2+B1、A3+B2+C1、A4+B3+C2+D1、A5+B4+C3+D2+D1 …


よろしくお願いします。

エクセル,A5+B4+C3,A3+B2+C1,A4+B3+C2,関数式,reymaco22222,myCell As Range

閲覧数:
4,961
回答数:
3
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

kei_jun_kuuさん

編集あり2012/8/816:10:30

reymaco22222さん

普通の関数ではかなりややこいので、ユーザー定義関数です。

下記のコードを指定された要領で張り付けてから、セルに普通の関数みたいに、
=REY(起点のセル,全体のセル範囲)
単独でA5を起点とすると、
=REY(A5,A1:E5)
のように→セル番地を直接入力するか、マウスで指定しても良いです。

ですから、図のA2を起点とすると、
=REY(A2,A1:E5)
この数式を下にコピペするなら、全体のセル範囲のみを絶対参照にして、、
=REY(A2,$A$1:$E$5)
この数式をB7に入力して、下にコピペすると連続して結果を得られます。

Function REY(Rng As Range, myCell As Range) As Long
Dim cnt As Long, myAd As String
Do
REY = REY + Rng.Offset(-cnt, cnt)
cnt = cnt + 1
Loop Until cnt = Rng.Row - myCell(1).Row + 1
End Function

********** <標準モジュール> ************
<マクロの貼り付け方>
上記のコードをコピーして、、
エクセルのワークシート上で「Alt」+「F11」でVBE画面を出して、、
上のメニュー→「挿入」→「標準モジュール」をクリックして、
広い画面のカーソルが「テカテカ」しているところにコードを貼り付けます。
もうこの画面はいらないので、、右上の「×」で元のシートに戻ります。

質問した人からのコメント

2012/8/8 17:20:27

みなさん、有難うございます。
自分でも1日中、探していたので、本当に助かりました。
今後ともよろしくお願いしますl。

chiquilin_siteさん >
文章のご指摘、有難うございます。(そうですよね。恥ずかしい)

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

Chiquilinさん

2012/8/812:23:20

「ご存じですか」ね。

=SUMPRODUCT((ROW(A$1:E$5)+COLUMN(A$1:E$5)=ROW(A3))*A$1:E$5)

無理にやるなら こんな式でできます。「ROW(A3」は「3」「4」「5」……と 別のセル
に書きだしてそれを参照した方がいいと思います。

som********さん

2012/8/811:26:12

ユーザー定義関数のサンプルです。

Function adm(r As Range, l As Long) As Long
Dim ans As Long
Dim i As Long
ans = r.Value
l = l - 1
For i = 1 To l
ans = ans + r.Offset(i, i).Value
Next i
adm = ans
End Function

使い方は、=adm(基点セル参照,加算個数)

例えば、「=adm(A1,5)」とすると、A1セルから右下セル方向に5つのセル内容を加算します。

例えば、方向も関数の引数として追加してやれば、上下左右斜めどのような加算も可能ですが。。。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる