タイトルにありますとおり
ある数値が何個目にあるか調べる方法
または関数がないか悩んでおります^^;
文章だけではわかりにくいので以下に例を示します。
A B C D
1 2
2 0
3 1
4 8
5 2
6 9
7 5
8 3
このような表があったとします。
A列に適当な数字が並んでいます。
A列で3が何個目にあるか?という場合は
MATCH関数でMATCH(3,A1:A8)で8と表示されると思います。
調べたい数値が1個だけしか存在しない場合はいいのですが
複数ある場合、MATCH関数だとうまくいきません。
例えば、A列の2を調べる場合は1行目と5行目にあるため使えません。
このような場合、使えそうな関数、またはMATCH関数でも便利な活用方法など
ご存知の方いらっしゃいましたら、ご教示いただけませんでしょうか^^;
No.4ベストアンサー
- 回答日時:
一例です
B1に検索したい値「2」が入力されているとき、適当なセルに以下の式を貼り付けて下方向にコピーしてください
=LARGE(INDEX((A$1:A$50=$B$1)*ROW(A$1:A$50),),COUNTIF(A$1:A$50,$B$1)-ROW(A1)+1)
結果は
1
5
#NUM!
になります
この式では3つ目以降はエラーになります。エラーを表示したくないときは条件判定を加えて以下の式になります
=IF(COUNTIF(A$1:A$50,$B$1)<ROW(A1),"",LARGE(INDEX((A$1:A$50=$B$1)*ROW(A$1:A$50),),COUNTIF(A$1:A$50,$B$1)-ROW(A1)+1))
範囲はA1:A50にしていますので実際のシートに合わせて変更してください
zap35様、ご回答ありがとうございます^^
返答遅れまして失礼いたしました^^;
質問後寝てしまい、本日は先ほど帰ってきたばかりで式を確認させていただきました^^
当方の意図した結果が得られました。
また、エラーを表示したくない旨は質問時点では考えておりませんでしたが、表示されない方がすっきりして見えますので、助かりました^^
今後応用できるよう努力したいと思います^^
No.6
- 回答日時:
A B C D E F G H
1 2 0 1 2 3 4 5
2 0
3 1 2 3 1 8 7
4 8 9 10 5
5 2 11 12
6 9 13
7 5
8 3
9 0
10 1
11 0
12 1
13 0
14
1.C列以右の2行目は空白のまま
2.セル C3 に次の[条件付き書式]を設定
数式が =ISERROR(C3)
フォント色 白
3.セル C3 に次式を入力して、此れを右方および下方にズズーッとドラッグ&ペースト =IF(C$1="","",MATCH(C$1,OFFSET($A$1,C2,,100,),0)+C2)
mike_g様、ご回答ありがとうございます^^
意図した結果が得られました^^
今回教えていただきました式や考え方を今後活用できるかわかりませんが、とても勉強になりました
No.5
- 回答日時:
ありそうに思うかと思うが、エクセルの関数では、質問にぴったりの関数はなく、MATCH関数の使い方によっても対処できない。
エクセルの関数利用で、「抜き出し問題」の質問が毎日のように出るが、式が難しくなる原因の1つです。
(本件は行番号数を求めているが、行番号がわかればINDEX関数で、同行他列のデータが取れるので、実質は、抜き出し問題と同じ型だ。)
(1)作業列を使う方法
(2)作業列を使わない方法
ーー
(2)のタイプの1つだが、こんなのもあるということで、
B1に
=SMALL(IF($A$1:$A$10=2,ROW($A$1:$A$10),"9999"),ROW())
と入れて、SHIFT、CTRL,ENTERキーを同時押しする。
この式を下方向に複写する。(配列数式という)
結果
質問例の場合
1
5
#NUM!
・・
#NUM!を消すのは
=IF(ROW()>COUNTIF($A$1:$A$10,2),"",SMALL(IF($A$1:$A$10=2,ROW($A$1:$A$10),"9999"),ROW()))
と入れて、SHIFT、CTRL,ENTERキーを同時押しする。
この式を下方向に複写する。
===========
(1)では
第1行目に行挿入して
空き列のD2に=IF(A2=2,MAX($D$1:D1)+1,"")と入れて下方向に式を複写。
第2行 1
第6行 2
になる。
空き列E列f2に
=MATCH(ROW()-1,$D$2:$D$11,0)
と入れて、下方向に式を複写。
結果
1
5
#N/A
#N/Aを消す方法は前述を参考に。
ーー
このやり方は自称「imogasi方式」。Googleで紹介すれば、質問例が
多数出ます。
imogasi様、ご回答ありがとうございます^^
ご指摘のとおり、いろいろなケースに完全に対応している方法を見つけるのはとても難しくスキルのいる作業だと思います^^;
当方エクセルを少々かじっている程度ですので
エキスパートの方々の回答にはとても助かっております^^
ご教示いただけました式ですが、当方の意図した結果が得られました。
今後できるだけ自力で解決できるよう、いただけました式を理解する努力をしようと思います^^;
No.3
- 回答日時:
こんばんは。
ちょっと無理やりな感じですが
こんなのはいかがでしょう。
まずD列1行目に調べたい数字を入れます。
D1「2」
そして、C列の各行に↓こんな式を入れます。
=IF(A2=$D$1,ROW(A2),"")
ROWは参照した行数を返してくれる関数なので
A1の値がD1と同じなら行数を返す
という式です。
これをやると↓こんな感じになります。
A B C D
1 2 1 2
2 0
3 1
4 8
5 2 5
6 9
7 5
8 3
mazdaFD3さんのご希望は、C列の1行目に1、2行目に5と
出したいということなので
そこがクリアされていない回答です。。
なお、ご希望の状態に近づけるには
ちょっとひと手間掛かってしまいますが以下の方法もあります。
C列全部をコピーして
E列に「形式を選択してコピー」で「値」を選びます。
その後E列を並び替え(昇順)
にすると↓こんな感じになります。
A B C D E
1 2 1 2 1
2 0 5
3 1
4 8
5 2 5
6 9
7 5
8 3
RH01様、ご回答ありがとうございます^^
返答大変遅れまして失礼いたしました^^;
質問後、寝てしまい、本日は先ほど帰宅したものですから・・・
ご指摘のとおり、上から順番に隙間なく結果を表示したいので
ご教示いただけました式は少し当方の意図とはずれるのですが
ROW関数の使い方は良く知りませんでしたので
とても勉強になりました^^
自分なりに、いただけました式を改良してみようと思います^^
No.2
- 回答日時:
横レスで申し訳ありませんが・・
C1セルに下記式を入力します。
=MATCH(2,$A$1:$A$8,0)
C2セルに下記式を入力します。
=IF(C1>=8,NA(),MATCH(2,INDIRECT("$A$"&C1+1&":$A$8"),0)+C1)
3箇所以上ある場合は、C2セルを必要な個数分だけ、下へコピーします。
ご確認お願いいたします。
saburo0様、ご回答ありがとうございます^^
返答遅れまして、大変失礼いたしました^^;
質問後寝てしまい、本日は先ほど帰宅したため、式の確認も先ほどさせていただきました。
当方の意図した結果が得られました^^
少しの変更でそのまま使用できそうです。
改めて、ご回答ありがとうございました^^
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Excel(エクセル) 関数を教えてください。 2 2023/08/01 10:59
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) If関数に関する質問です。(再掲) 3 2022/10/01 20:51
- Excel(エクセル) 関数を用いて表示したセルの内容を、見えている形でコピーする方法 2 2022/09/14 16:36
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】スペースがいくつ入っ...
-
西暦や和暦の表示をyyyymmdd表...
-
【Microsoft Office Excel Comp...
-
Excelはなんで先頭の0を消すん...
-
Excelのセルを飛ばして入力する
-
別シートからの文字を変更
-
エクセルの行の抽出について質...
-
Excelのオートフィル
-
Excel 2019 のピボットテーブル...
-
スプレッドシート クエリ関数 1...
-
excelの不要な行の削除ができな...
-
Excel初心者です。 詳しい方、...
-
【Excel】セル内の時間帯が特定...
-
Excel初心者です。 詳しい方、...
-
EXACT関数とIF関数の組み合わせ...
-
Excelのグラフ軸について
-
スマートな関数を教えて下さい。
-
Excelで全角を半角にしたいので...
-
【マクロ】エクセルにかいてあ...
-
Excel:一部のフォントでセルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報