お世話になります^ ^
みなさんとても親切な方で、大変恐縮ですm(_ _)m
10000以上のデータがあるのですが、、
あるセルからあるセルまでの間隔の数値を、
自動的に求める方法はありますでしょうか??
数値はHセルに入力しています。
例えば、数値1と2と、
他の数値とのセル間隔を数字で求められたらと思っています。
例)セルH1 2
セルH2 8
セルH3 6
セルH4 15
セルH5 1
セルH6 1
となる場合、
1と2以外のセル間を数字で求めると、
0→3→0となります。
このように求められる方法はありますでしょうか?
稚拙な文章のため、
意味がわからない!などありましたら、
ご指摘ください。
よろしくお願い致しますm(_ _)m
No.15ベストアンサー
- 回答日時:
あっ、Chiquilinさん。
。。ありがとうです。^^
tsuna_sandさん。
Chiquilinさんは色んなQ&Aで回答されているお仲間です。
このままエラーが回避できない可能性もありますから、
一度複製を作って、Chiquilinさんの方法も試して見てください。
ご回答ありがとうございます^ ^
suekunさんとChiquilinさんのおかけで、
ついに完成させることができました!
数日にわたり、
丁寧にご指導していただき、
言葉もないくらい感謝しております!!
良い夏をお過ごしされるとを、
願っております^ ^
今回は本当にありがとうございましたm(_ _)m
No.17
- 回答日時:
とりあえず テスト版ではうまくいったようで良かったですね。
> 仮に9と8がHセルに出現したら処理を進めるようにする場合、
なら
■I1セル
=IF(OR(H1={8,9}),0,"")
■I2セル
=IF(OR(H2={8,9},AND(H2<>"",H3="")),COUNTIF(H$1:H1,"<>1")-SUM(I$1:I1),"")
I12389セル(最終行)までオートフィルコピー
■J1セル
=IF(I1="",J2,J2+1)
J12390セル(最終行より下の行)までオートフィルコピー
■K1セル
=IF(J$1<ROW(K1),"",INDEX(I:I,MATCH(J$1-ROW(K1),J$1:J$12389,-1)-1))
下方向にオートフィルコピー
でどうでしょう。
ご回答ありがとうございます^ ^
suekunさんとChiquilinさんのおかけで、
ついに完成させることができました!
数日にわたり、
丁寧にご指導していただき、
言葉もないくらい感謝しております!!
良い夏をお過ごしされるとを、
願っております^ ^
今回は本当にありがとうございましたm(_ _)m
No.16
- 回答日時:
> なぜか最後の2だけ表示されません。
。J9セルに「0」は入っていますか? J列は最終行より1つ多めにコピー
する必要があります。これをしないと最後の抽出データが表示されなく
なりますのでご注意下さい。
この回答への補足
ご回答ありがとうございます^ ^
J9セルに0を入力しましたら、
完璧にできました!
すごくうれしいです!
ありがとうございます!!
Chiquilinさのが作ってくださった表では、
Hセルに1が出現したら処理を進めるようになっていますが、
仮に9と8がHセルに出現したら処理を進めるようにする場合、
どの数式をどのように変えればよろしいでしょうか??
No.14
- 回答日時:
エラーの原因が見つからないのですよね。
エラーを出してるセルを特定しましょう。
一旦、K列の数式はすべて削除して、
I列とJ列を設定した状態に戻しましょう。
ここまででどこかにエラーを出してる箇所があると思います。
では、K列の数式を削除したら、エラーを探す手順です。
1、キーボードの最上段の「F5」を押して下さい。
→ジャンプと言う窓が開きます。
2、左下の「セル選択」というボタンを押します。
→選択オプションが表示されます。
3、数式にチェックを入れて、数式の下位にある「数値」「文字」「論理値」のチェックをはずします。
→チェックがエラー値だけになります。
4、「OK」を押してカーソルが飛んだ先のセル番地(例:J12とか)
を教えて下さい。
合わせてそこに書かれてある数式も教えて下さい。
(上部の数式バーに内容が表示されていると思います。)
再び手数をかけますが、なんとか完成に持ち込みましょう。
No.13
- 回答日時:
suekunさんに呼ばれて来ましたが「#VALUE!」エラーが返る理由がよく
分かりません……
今更ですが一度 最初からやってみて下さい。 データ量も多いので極力
軽い計算の方がいいでしょうし。 ファイルを複製して 下記の方法を試
してみて下さい。
_|__H__I__J__K
1|__9_____3__3
2|__8_____3__0
3|__6_____3__2
4|__1__3__3
5|__1__0__2
6|__9_____1
7|__8_____1
8|__2__2__1
9|_______0
■I1セル
=IF(H1=1,0,"")
■I2セル
=IF(OR(H2=1,AND(H2<>"",H3="")),COUNTIF(H$1:H1,"<>1")-SUM(I$1:I1),"")
I12389セル(最終行)までオートフィルコピー
■J1セル
=IF(I1="",J2,J2+1)
J12390セル(H列の最終行の1行下)までオートフィルコピー
■K1セル
=IF(J$1<ROW(K1),"",INDEX(I:I,MATCH(J1-ROW(K1),J$1:J$12389,-1)-1))
下方向にオートフィルコピー
でどうでしょうか。エラーの原因が分からないと何とも^^;
この回答への補足
ご回答ありがとうございます^ ^
おふたりにご教授いただいておりますので、
わたくしも気合を入れてがんばります!
ご指示していただいたとおりに、
実行しましたところ、、
ほぼ完全に、
_|__H__I__J__K
1|__9_____3__3
2|__8_____3__0
3|__6_____3__2
4|__1__3__3
5|__1__0__2
6|__9_____1
7|__8_____1
8|__2__2__1
9|_______0
通りになりました!
ほぼといいますのは、
なぜかI8セルの最後の数字2が、
K3セルに表示されません。。
_|__H__I__J__K
1|__9_____3__3
2|__8_____3__0
3|__6_____3__ここに2が入るはずなのですが、、
4|__1__3__3 何も表示されません。。
5|__1__0__2
6|__9_____1
7|__8_____1
8|__2__2__1
9|_______0
エラーも何も無く、
スムーズにできたのですが、、
なぜか最後の2だけ表示されません。。
No.12
- 回答日時:
なるほどですね。
では、もう一度最初から整理して考えましょう。
A B・・・・・・H I J K
1 1 1 0
2 8
3 5
4 7
5 2 5 3
6 1 6 0
No.5まで出来ているならこういう表になっているはずです。
H列の数値に対して、その数値が「1」か「2」であれば
その数値が記入されている行番号(上から何行目)がI列に
表記される。
そのI列の数値を見て、数値(行番号)が表示されていれば
間にある空白のセル数を数えてJ列に表記する。
この事でI列には上から該当データーがあるセルには昇順に行番号が
表示されていて、J列にはその間のセルの数が表示されていますよね。
このデーターが並ぶ正しい行数を教えて頂けますか?
1行目から12567行目までとかですね。
そしてこの範囲に設定した関数が返した答え以外が表示されてないか
さっと見て下さい。
お手数かけますが宜しくお願いします。
この回答への補足
いつもご回答ありがとうございます!!
おっしゃるとおり、
ご提示いただいた表のような結果になっています。
>H列の数値に対して、その数値が「1」か「2」であれば
その数値が記入されている行番号(上から何行目)がI列に
表記される。
>そのI列の数値を見て、数値(行番号)が表示されていれば
間にある空白のセル数を数えてJ列に表記する。
>この事でI列には上から該当データーがあるセルには昇順に行番号が
表示されていて、J列にはその間のセルの数が表示されていますよね。
これらもおっしゃるとおりです。
このデーターが並ぶ正しい行数は、
1行目から12389行目までです。
そしてこの範囲に設定した関数が返した答え以外は、
表示されていませんでした。。
本当にいつもお世話になり、
感謝感謝であります^ ^
No.11
- 回答日時:
日曜にバレーの試合があったのでちょっと疲れて
返事が遅くなりました。
さて、#VALUE というエラーがよくわかりませんね。
SMALLで指定している範囲の数値が数値として認知してないなら
別のエラーが出るはずですからね。
一応範囲を強制的に数値に置き換えてみましょうか?
=SMALL(VALUE($I$1:$I$10000),ROW(J1))
この式をK1に入れてみてください。
この回答への補足
ご回答ありがとうございます^ ^
遅れたなんてとんでもないです!
ご回答していただけるだけで、
とても感謝しておりますm(_ _)m
=SMALL(VALUE($I$1:$I$10000),ROW(J1))を
k1に入力してみましたが、、
また#VALUEと表示されてしまいました。。
ためしに
=SMALL(VALUE($I$1:$I$10000),ROW(J1))
をk1セルに入力し、下方にコピーしましたところ、
ほとんどのセルに、#VALUEと表示されます。
ただ前回と違うのは、J列に数字表示があるセルがありますよね。
そのJ列の右下のKのセルに、
#NUM!と表示されていました。。
お時間のある時で結構ですので、
お力になっていただければ幸いです。
No.10
- 回答日時:
あっ、ごめんなさい。
K列でしたね。No.5まで出来ているなら、次はK列に行詰めですから
J列ではなく、K列に入力して頂く事になります。
それでもエラーが表示されたなら、このエラーは
引数や演算子に使われている種類のアンマッチを示しますので
一旦数式を二つに分けてどこにエラーがあるか見てみます。
K列に入れる数式を
=SMALL($I$1:$I$10000,ROW(J1))
として下にコピーしてください。
問題が無ければ、I列の数値が行詰めされて表示されるはずです。
この操作が出来ていれば、次はL列に
=INDEX($J$1:$J$10000,K1)
と入力してみてください。
この二段階の操作をまとめて書いたのが先ほどの数式です。
PS:ちなみにエクセルのバージョンは何でしょう? 2003?
この回答への補足
いつもご回答ありがとうございます^ ^
そして返事が遅れてしまい、
大変申し訳ありません。。
ちょっと出かけていました。
ご教授いただきましたとおり、
K列に入れる数式を
=SMALL($I$1:$I$10000,ROW(J1))
として下にコピーしたのですが、、
#VALUE
と数式をコピーしたK列のセルすべてに
表示されてしまいました。。
エクセルのバージョンは、
おっしゃるとおり2003であります。
No.9
- 回答日時:
こんにちは。
No.5までは表示されたのですよね。
さて、数式の解説をしながら検証してみますか。
この数式はエラー処理をしているので、IFの後にISERRORを入れて
あります。
ISERRORの中に書かれた関数がエラーだったら空白を返します。
その部分が、
ISERROR(INDEX($J$1:$J$10000,SMALL($I$1:$I$10000,ROW(J1))))
です。
本来なら、
INDEX($J$1:$J$10000,SMALL($I$1:$I$10000,ROW(J1))))
だけで機能するのですが、行詰めした以降のセルにはエラーが
表示されるのでエラー回避してます。
セル数を数えた数値が0・2・0・3・5・4と6個しかなければ
上から6行目以降はすべてエラー表示されますからね。
では先にSMALLです。
この関数は、指定された範囲の中で小さい順に●番目の
数字を返します。
●番目と言うのは、任意に指定できます。
Iの列には、検索に当たった行数が表示されていますから、
上から下に数字が段々大きくなります。
この数値の中でJ列に小さい方から順番に拾って行こうというのが
狙いです。
そこで●番目の設定ですが、「ROW(J1)」と指定しています。
参照の形が相対参照というコピーする事で参照先が変化する
形をとってますので、下にコピーして行けば、J2 J3と変化します。
ROWは行番号を返す関数ですから、列番号に関係なく
J1=1 J2=2 J30=30という数字を返します。
つまり、提示した基本の数式では、1番目に小さい数字を拾うと
言う事になります。
そしてその上の「INDEX」は範囲の中で行数で指定された場所の
値を拾います。
つまり、SMALLで小さい方からと拾った数値はそのまま行番号なので
その数値を範囲の中で当てはめれば、J列のセル数を数えた数値が
返されるはずです。
何も起こらないって事はエラー回避が働いている可能性がありますから
一度、
=INDEX(J:J,SMALL(J:J,ROW(J1))))
この関数をだけをJ1セルに入力して下にコピーして見て下さい。
その結果を教えて下さい。
この回答への補足
いつもご回答ありがとうございます^ ^
ご教授いただきました処理を行った結果を、
報告いたします。
J1セルに入力して下にコピーして見ましたところ、
入力した数式にエラーが発生しましたという物が出て、
修正を適応しますか?という問にはいと回答しました。
すると、数式を計算できませんという警告が出てきました。
その後J列にはすべて数字の0が表示されていました。
ためしにK1セルに入力して下にコピーして見ましたところ、、
同じような警告文が出ました。
その後K列には#VALUEと表示されました。
度々お世話になりますm(_ _)m
No.8
- 回答日時:
>詰めて表示
J2=SMALL($I:$I,ROW())-SMALL($I:$I,ROW()-1)-1
これを下にコピーでOKです。
エラーを回避するなら、
J2=IF(COUNT($I:$I)<ROW(),"",SMALL($I:$I,ROW())-SMALL($I:$I,ROW()-1)-1)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ハマっている「お菓子」を教えて!
この世には、おいしいお菓子がありすぎて……。 次何を食べたらいいか迷っています。 みなさんが今、ハマっている「お菓子」を教えてください!
-
【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
2024年は「名探偵コナン30周年」「涼宮ハルヒ20周年」などを迎えますが、 あなたが「もうそんなに!?」と驚いた○○周年を教えてください。
-
CDの保有枚数を教えてください
ひとむかし前はCDを買ったり借りたりが主流でしたが、サブスクで簡単に音楽が聴ける今、CDを手に取ることも減ってきたかと思います。皆さんは2024年現在、何枚くらいCDをお持ちですか?
-
【お題】絵本のタイトル
【お題】 「ないた あかおに」「ねないこ だれだ」「はらぺこあおむし」みたいだけど、一体これどういう内容?と思った絵本のタイトルを教えて下さい
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
エクセルで数字と数字の間隔(空白の数)を計算する方法を教えてください。
Excel(エクセル)
-
Excelで特定の数字の間にあるセルの数を数える方法
その他(Microsoft Office)
-
下記のようにA列にランダムで出現する数字に対して、B列でその出現間隔を
Excel(エクセル)
-
-
4
[エクセル関数]等間隔に値を取得する方法について教えてください
Excel(エクセル)
-
5
セルとセルの間にある数字を表示させる方法を教えてください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの警告について
-
Excelについて教えてください ...
-
エクセルの計算式について(COU...
-
【Excel】日付に連動してプルダ...
-
スプレッドシート(エクセル) ...
-
Excelファイルのすべての更新日...
-
Excel 標準フォントについて教...
-
大容量があつかえるソフトを探...
-
Excelの計算で差分を求める場合...
-
同率順位の発生しないランキン...
-
エクセルの数式バーのフォント...
-
年間の医療費のデータがあり、...
-
毎週追加して行くセルの数値を...
-
Excel ショートカットで列、行...
-
エクセルの関数
-
ショートカットキー
-
EXCELの散布図で日付が1900年に...
-
エクセルにて時間帯にて自動で...
-
【Excel】効率的な関数式の組み...
-
エクセル 入力があった場合のみ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
エクセルデーターから必要な項...
-
エクセルでファイルの最終更新...
-
複数のテキストファイルをexcel...
-
Excelの複数条件の関数
-
【マクロ】ファイル名の一括変...
-
EXCELの散布図で日付が1900年に...
-
マクロの処理が遅くなった
-
Excelの時刻の不思議
-
エクセルでの2項目比較および...
-
Excelマクロで空白セルを詰めて...
-
エクセルの数式バーのフォント...
-
ExcelでASCを使って全角を半角...
-
エクセルで80万行、50列位のデ...
-
今まで文字化けなく開けていたc...
-
エクセルのことで教えてくださ...
-
エクセルVBA 月の中で、月~土...
-
Excelでの表の作り方
-
Excel セルにおけるフォント設...
-
エクセルの質問です。 F列からL...
おすすめ情報