プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。前回の質問で、H6,H11,H16,H21,H26といった、飛び飛びのセルに数値を入力していくのですが、H6に1という数値を入力すると1を、次にH11に2を入力すると2を、といった具合に順次入力された値を別のセルに表示させたいのですが、COUNTやINDEXなど使っても上手くいきません。といった質問で、
=INDEX(H6:H1000,MAX(IF((MOD(ROW(H6:H1000),5)=1)*(H6:H1000<>""),ROW(H6:H1000)-5)))

配列数式なので、Ctrl+Shift+Enterで確定!(←必須★)してみてください。
これでH列の6・11・・・と5行おきのセルだけた対象になります。
という回答を頂き、見事に解決したのですが、作業を進めていく過程で列と行を変えて同じ要領で入力しても上手くいきません。括弧内の(H6:H1000)を対応する(C5:C1000)などに変えるだけではダメなのでしょうか?すいませんがお知恵をお貸しください。よろしくお願いいたします。

A 回答 (4件)

こんにちは



ご質問の意味はよく分からないけれど、変更しやすいようにご提示の式を一般化してみました。
その分だけ式は複雑で長くなっていますけれど、意味がわからなくても利用できるのではないかと思います。

仮に、対象とする列をH列として、H1:H1000の範囲で式を作成してあります。
式中の「スタート行」「行間隔」の値をご希望の数値に変えることで、お望みの結果が得られると思います。
 ・スタート行:ご質問文のご例示でH6~H26の際の、最初の6行目を意味する数です。
 ・行間隔:ご例示のH6,H11,H16…の場合の5行間隔に当たる数値です。
式中に「スタート行」は2か所、「行間隔」は1か所あります。

=IFERROR(INDEX(H:H,AGGREGATE(14,6,ROW(H1:H1000)/(ROW(H1:H1000)>=スタート行)/(H1:H1000<>"")/(MOD(ROW(H1:H1000)-スタート行,行間隔)=0),1)),"")

※ 関数は通常使用なので、Ctrl+Shift+Enter等は不要です。
    • good
    • 0
この回答へのお礼

お礼が遅くなって申し訳ありませんでした。皆様の解答を参考に、無事に解決することができました。ありがとうございました。

お礼日時:2020/02/21 18:36

https://oshiete.goo.ne.jp/qa/11487754.html
なさりたいことが、よく分からないのですが、もしも、H列のデータを5行ごとに選んで、そのデータを、例えば、K列に上から詰めて並べたいというようなことが目的であるならば、次のような方法でもできます。
画像を参照してください。
画像では、B列から5行間隔のデータをF列に、C列から4行間隔のデータをG列に、D列から7行間隔ののデータをH列に写して表示させています。 対象は800行目までとしていますが、適当に直してください。
先頭の行(対象のデータのあるところ、表示を開始するところ)の位置を、最初に調整したら、後は、そのできたセルを下にフィルコピー?ドラッグコピー?するだけです。
画像では、機能テストをするために、間隔行数を変数にしていますが、間隔は固定ならば、固定値を入れるのでイイと思います。
配列から単純に行間隔で値を持ってくるだけです。
「エクセル 指定した連続していない複数のセ」の回答画像3
    • good
    • 0
この回答へのお礼

お礼が遅くなって申し訳ありませんでした。皆様の解答を参考に、無事に解決することができました。ありがとうございました。

お礼日時:2020/02/21 18:36

こんにちは!



https://oshiete.goo.ne.jp/qa/11487754.html
↑のサイトの件ですね。

前回回答したものです。

結局、前回はH列だったものをC列で同じ結果を返したい!というコトでしょうか?

>括弧内の(H6:H1000)を対応する(C5:C1000)などに変えるだけではダメなのでしょうか?
表示したいセルの数式を
=INDEX(C6:C1000,MAX(IF((MOD(ROW(C6:C1000),5)=1)*(C6:C1000<>""),ROW(C6:C1000)-5)))

としているのですかね?

問題なくできるはずですが、もしかして「#VALUE!」と表示されたのですか?
そうであれば、配列数式になっていない可能性があります。

上記数式が入っているセルを選択
① 数式バー内で一度クリック
② F2キーを押下
③ 数式が入っているセルをダブルクリック

①~③のどれか一つの操作をしてみてください。
編集可能になりますので、そのままCtrl+Shiftキーを押しながらEnterキーで確定!

これで数式の前後に{ }マークが入り配列数式になります。

※ 他の原因ならごめんなさい。m(_ _)m
    • good
    • 0
この回答へのお礼

お礼が遅くなって申し訳ありませんでした。皆様の解答を参考にし無事に解決することができました。ありがとうございました。

お礼日時:2020/02/21 18:35

元の数式が何をしているのかを理解できていない。


よくありがちな「代行依頼」で問題を解決したケースですね。
結局、疑問の先送りにしかなっていなかったという事です。

MOD(ROW(H6:H1000),5)=1
ROW(H6:H1000)-5

これが何を意味しているのかを考えてみましょう。
それで問題は解決すると思います。

MOD(ROW(H6),5)=1
MOD(ROW(H7),5)=1
MOD(ROW(H8),5)=1
・・・
MOD(ROW(H1000),5)=1

ROW(H6)-5
ROW(H7)-5
ROW(H8)-5
・・・
ROW(H1000)-5

てことです。
これなら分かるでしょ。
    • good
    • 0
この回答へのお礼

お礼が遅くなって申し訳ありませんでした。ご指摘の通り元の数式の意味を理解しておりませんでした。もう一度良く考えて、仰る通り数式を分解してみたところ、無事に解決いたしました。

お礼日時:2020/02/21 18:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!