表題の内容で、
http://oshiete1.goo.ne.jp/qa2826642.html
の回答を頂きました。
やってみて、とりあえず解決したと思ったのですが
参照する表を移動するとうまくいきません。
(結果を算出する式の中の参照元を変更してもうまくできませんでした)
参照する表と結果の移動に耐えるやり方は無いでしょうか、
すみませんが再度お知恵を拝借できれば幸いです。
No.3ベストアンサー
- 回答日時:
> A1:B16の元となる表で、B16にだけ8(例)を入れても
> 1つしかA16が出てしまいます。また、0(例)を入れても
> 1つだけA16が出てしまいます。
すみません、このケースではうまくいきませんでした。数式をあれこれいじってみたのですが、数式ではどうしてもできなかったので、ユーザ定義関数を作ってみました。
Alt+F11でVBAの画面を開き、左側のツリーからブック名を選択し、右クリックから「挿入」>「標準モジュール」を選択して、右の画面に以下のマクロをコピーして貼り付けてください。
Function GetVal(Address As String, N As Integer) As Variant
Application.Volatile
Dim i As Integer, Count As Integer, Last As Integer
Dim R As Range
Set R = Range(Address)
Count = R.Offset(, 1).Value
Do While Count < N
Set R = R.Offset(1)
Count = Count + R.Offset(, 1).Value
If R.Value = "" Then
GetVal = ""
Exit Function
End If
Loop
GetVal = R.Value
End Function
貼り付けたらVBAの画面は閉じてExcelの画面に戻り、文字を羅列するセルの先頭に、
=GetVal("A1",ROW(A1))
と入力し、下にコピーしてください。
表の範囲がE17:F32の場合は、
=GetVal("E17",ROW(A1))
です。表の範囲はE17から下に何行あってもかまいませんが、途中で空白セルがあると、そこで表は終わりだと判定されます。
逆に、E32の直下のE33に何か文字が入っていると、それも表の一部だと認識されてしまいます。この仕様で不都合があれば補足をお願いします。
本当にありがとうございました。すばらしい技術に驚きました。
完璧に思い描いていた仕様通りです。
(お礼が遅れてすみませんでした)
自分も見習って、少しずつEXCELスキルをアップしたいと思います。
もし機会があればまた、ご教示願えれば幸いです。
※ham_kamoさんのお悩みも解決されるよう、心から願っています。(プロフ見ました)
No.2
- 回答日時:
No.1です。
範囲がE17:F32の場合、G列を補助列、H列に一覧を出すとすると、
G17に
=F17
G18に
=SUM($F$17,$F$17:$F17)
を入力して下にコピーし、H17に
=IF(ROW(A1)>$G$32,"",LOOKUP($G$17+ROW(A1)-1,$G$17:$G$32,$E$17:$E$32))
と入力し、配列数式なのでCtrl+Shift+Enterで確定してください。
あとはそのセルを下にコピーすればいいです。
ありがとうございます、なんとなく動作は..わかってきました。(数式内容は全く理解できませんが...)
表を移動したときに結果を求めるD列の数式のROW(A1)のA1は動かしてはいけないんですね
配列数式の意味もわかっていないですがこれからWEBで勉強したいと思います。
最後にもうひとつだけ、すみません。
A1:B16の元となる表で、B16にだけ8(例)を入れても1つしかA16が出てしまいます。また、0(例)を入れても1つだけA16が出てしまいます。
これをなんとかしたいのですが、再度お知恵を拝借できませんでしょうか?、よろしくお願い致します。
No.1
- 回答日時:
こんにちは、前回の質問のNo.2で回答した者です。
実際に使われてるのは私の回答でしょうか。それともNo.3の方の回答でしょうか。私の回答でしたら、参照する表をどの範囲に移動したのであればどう書き直せばよいか、回答できるのですが、補足をお願いできますか?
その節はどうもありがとうございました。
再度聞きたかったのですが、回答を締め切っていたので連絡の取りようが無くなってしまっていまして...
実際に教えていただいた2つ(お二方)の方法で試したのですがどちらもできませんでした。ham_kamoさんの方法での修正方法をおしえていただけると助かります。
A1:B16に前述のような表がある、補助列はC1:C128、結果をD1:D128 として教えていただいたものを作りました。
このとき、A1:B16の場所をE17:F32に変更したときに行うべき修正方法を教えていただけますか?
単にD1:D128数式の中の参照を変更しても無理でした(泣
すみませんがよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- Excel(エクセル) 【エクセル】文中に別シートのセルの内容を自動入力したい 6 2022/11/17 11:30
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- Excel(エクセル) 電卓は正しいのに エクセルで計算させると間違った答えです。なぜ? 7 2022/08/11 07:04
- Excel(エクセル) エクセル開いたらウィンドウがでました 2 2023/03/28 16:24
- Excel(エクセル) ピボットテーブルの参照式はオートフィル出来ない? 2 2023/03/03 15:57
- Excel(エクセル) エクセル VBAでセル内容を別の列の最下行に転記したい 2 2022/11/29 08:47
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
exselの質問です
-
エクセルの日付に時差を加算 #V...
-
(マクロ)vlookupの元データを同...
-
Excelのデーターを消して保存し...
-
Excelの数式について教えてくだ...
-
pdfの表をexcelにはりつけて計...
-
エクセルの「赤」の印刷がうま...
-
エクセルで特定のセルに入力が...
-
エクセル おすすめフォント
-
一つのセルに(例えばA1)入力...
-
Excelの関数について教えてくだ...
-
関数の説明
-
Excelにいついて質問です。
-
[オプション]の[アクセスビリテ...
-
VBAについての質問です
-
Excelについて
-
CSVファイルについて質問です。
-
エクセルの「入力規則」のプル...
-
エクセルファイルがファイルの...
-
エクセルであるセルに数字を入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報