タイトルにありますとおり
ある数値が何個目にあるか調べる方法
または関数がないか悩んでおります^^;
文章だけではわかりにくいので以下に例を示します。
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ランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報