教えて!gooにおける不適切な投稿への対応について

Excelについて質問です。

写真のように黄色は4行飛び、赤色は5行飛びとなるように右の数字を上から順に左側に反映されるように考えてみたのですが、左側にに入る数字が順番通りに入ってくれません。
どうすれば良いでしょうか。
ちなみにコピーすることが前提なので、コピーしても値がズレないように今回の式を使ったのですがより良い案があればご教授下さい!

「Excelについて質問です。 写真のよう」の質問画像
gooドクター

A 回答 (2件)

投稿された画像を見る限り、ご質問者もOFFSET関数を使って解決しようとしておられるようですので、オートフィルは使わず、結果を表示すべきセルに各々数式をコピーするというお考えのようです。


ただ、ご質問者が投稿された画像の数式では、提示された条件と微妙に異なっている気がします。画像でははっきり読み取れないのですが、画像のH列の最も下にある赤色で塗られたセルの直下の数字は「38」となっていませんか?
提示された条件だと「37」でなければいけないはずではないですか?

色付きセルの並びがNo.1さんの推測の通りだとして、結果を表示させるセルに数式を各々コピーしていくのであれば、No.1さんがお示しになったH3に記述する数式

=OFFSET(P$3,COUNTA(H$2:H2),0)

が最もシンプルではないかと思います。

H列はP列の数値を参照して、飛び飛びに表示するルールなのですが、この数式は既に表示済みのセルの個数を数えて、次に表示すべきP列のセルの位置を求めるというものです。

なお、オートフィルを使って表示する場合の数式はNo.1さんの数式でもよいのですが、若干長めです。
この場合も上記のように、既に表示済みのセルの数を数えて、次に表示すべきP列のセルの位置を求めるという方法をとるとすれば、H3に記述すべき数式は

=IF(MOD(MOD(ROW(H3)-2,16),5)=1,INDEX(P:P,SUMPRODUCT((MOD(MOD(ROW($H$3:H3)-2,16),5)=1)*1)+2),"")

となり、少しではありますが、短くなります。
    • good
    • 1
この回答へのお礼

あなたに会えてよかった

ご回答ありがとうございます!
goomania様の使用してる関数を調べてみたのですが、mod(mod(Row(セル番号)-2,16),5)でどういう規則ができているのか分かりませんでした。
また、sumproductの+2はなんで付くのですか?
宜しければ教えて頂けないでしょうか。

お礼日時:2021/04/05 09:24

こんにちは



どうやら、「色で判断する」というわけではなさそうなので、規則性があるものと仮定しました。
「5行、5行、6行飛び」の繰り返しで良いものと勝手に解釈しました。

>ちなみにコピーすることが前提なので、コピーしても値が
>ズレないように今回の式を使ったのですが
「今回の式」の内容が、はっきりとは読み取れませんけれど、ご提示のような結果になるのでしょうか??
(なんだかなりそうもないような気が・・・)
コピペの方法が不明ですが、「該当セルに飛び飛びにコピー」してゆくのか、「全部の行にフィルコピー」してゆくのかも不明です。
(ご提示の式を見る限りは、フィルコピーを考えてはいなさそうですが…)

意図がよくわかりませんけれど、
「5、5、6行毎に、P3セルをスタートに1行ずつ下に参照してゆく」
ということと仮定するならば・・・

◇ フィルコピーで対応するのならば(間のセルは空白が返される)、H3セルに
=IF((MOD(ROW(H3)-3,16)<11)*(MOD(MOD(ROW(H3)-3,16),5)=0),INDEX(P:P,INT((ROW(H3)-3)/16)*3+INT(MOD(ROW(H3)-3,16)/5)+3),"")

◇ 自分で該当セルに飛び飛びでコピペするのなら、もっと簡単になります。
(他のセルはEmptyであるのが条件ですけれど)
こちらの場合は、5,5,6行のような規則性も不要です。(自分でコピペするので)
不規則であっても、ペーストした該当セルに、上から順に参照されてゆきます。
H3セルに
=OFFSET(P$3,COUNTA(H$2:H2),0)
として、飛び飛びにコピペすれば宜しいかと。

※ かなりの推測混じりなので、はずしていたなら無視してください。
    • good
    • 1
この回答へのお礼

あなたに会えてよかった

ご回答ありがとうございます!
お礼が遅くなり申し訳ありません。
fujillin様の回答の関数を調べてみたのですが、
MOD(MOD(ROW(セル番号)-3,16),5)でどういう規則ができているのか、最後の+3がなぜあるのか分かりませんでした。
またOFFSETの方はコピーし、1から15をP列に入れて試したところ1の次に6,11,0,0,…という結果になりました。
宜しければ教えて頂けないでしょうか

お礼日時:2021/04/05 09:40

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング