No.2
- 回答日時:
配列数式NGだと、作業列を使わないと出来ませんでした。
A列に数値が並んでいるとします。
B列に2番目に頻度が大きい数を表示します。
作業列
D1
=IF(COUNTIF($A$1:A1,A1)=1,COUNTIF(A:A,A1),"")
下へコピー
E1
=LARGE(D:D,2)
F1
=IF(D1=$E$1,ROW(A1),"")
下へコピー
B1
=IFERROR(INDEX(A:A,SMALL(F:F,ROW(A1))),"")
下へコピー
No.1
- 回答日時:
配列数式やマクロを使わない理由を教えていただきたく思います。
どんな理由があるのでしょうか。例えば、下位バージョンであるとか。
ただ、私は関数は不得意ですから、もっと良い解答があるはずだと思います。
④のRANK.EQ は、2003等の下位バージョンではなかったと思います。
①
A1:A50 が乱数で1~99までの数字があるとします。
②
B1から、B50 まで、COUNTIFで、
=COUNTIF($A$1:$A$50,A1)
B1を50行目までクリックコピー(セルの右端下の黒丸をクリック)
③
C1から、C50 まで、RANK 関数で、順位を取ります。
=RANK(B1,$B$1:$B$50)
C1を50行目までクリックコピー
④
D1に以下の数式を置き、
=RANK.EQ(A1,$A$1:$A$50)
D2 から、D50 までを、RANK.EQ 関数で、順位の位置を取ります。
=IF(COUNTIF($D$1:D1,RANK.EQ(A2,$A$1:$A$50)),"",RANK.EQ(A2,$A$1:$A$50))
D2を50行目までクリックコピー
⑤
E1から、E50 まで、以下の数式を置きます。
=IF(D1="","",C1+D1/100)
E1を50行目までクリックコピー
⑥
F1から、適当な位置まで、以下の数式を置きます。
=SMALL($E$1:$E$50,ROW(A1))
F1をドラッグコピー
⑦
G1から、適当の場所まで、ドラッグコピーします。
=INDEX($A$1:$A$50,MATCH(F1,$E$1:$E$50,0))
上から順に頻度の高いものが出てきます。
F列の整数値が同じものは、同列です。
以下は、その計算イメージです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- 数学 数2Bの数列の問題です。 自分は、 まず数列 an=ar^(n-1)と置き こちらの問題の、y= の 1 2022/07/07 16:26
- Excel(エクセル) 関数を用いて表示したセルの内容を、見えている形でコピーする方法 2 2022/09/14 16:36
- Excel(エクセル) Excelについて 3 2023/07/12 17:47
- 統計学 統計学の問題です よろしくお願いします 代表値 次の15件のデータについて,以下の問いに答えよ。 結 1 2023/01/31 18:53
- 統計学 統計学の問題です よろしくお願いします 代表値 次の15件のデータについて,以下の問いに答えよ。 結 5 2023/01/31 23:35
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- 数学 nC2=2016 の等式を満たす正の整数nの値を求める問題で n(n-1)/2=2016 n^2-n 4 2023/04/07 16:58
- Excel(エクセル) エクセルの表でダブりを解消する方法を、教えてください。 5 2023/04/12 12:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで 自動的に◯や数字を...
-
エクセルでファイルの最終更新...
-
シフト表をエクセルで作るとき...
-
Excel 2019 [オプション]の[リボンのユ...
-
Excelに詳しい方! B列が「日...
-
Excelファイルが開けません
-
excel2013 MonthDays 関数が使...
-
スプレッドシートの関数につい...
-
【マクロ】2回実行したら、エ...
-
特定の文字列を含む、住所を抽...
-
EXCELの散布図で日付が1900年に...
-
エクセルのツールバーから数値...
-
Excelで表を作ったところに文字...
-
祝日と土曜、日曜の合計をカウ...
-
Excelについて
-
【マクロ】名前を保存する際に...
-
Excel分数の表示について
-
エクセルでCtrl+Tでテーブルの...
-
マイクロソフトのPADを使ってい...
-
【EXCEL】画像の黄色部分の抽出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報
Excelのバージョン表記をしていませんでした。
Excel 2002(XP)です。
また、配列数式を試用しない理由は、他の人も使うワークシートであり
そのセルをうっかり編集モードにしてしまった際に、
[Ctrl]+[Shift]+[Enter]キーを押してもらえる可能性がほぼゼロに近いと思われるからです。
やはり作業列が必要ですか?
実際の作業は、マークシート方式のテストの採点で、
その後の解説のため、どんな誤答が多いのかを調べたいというものです。
対象は800人近くで、テストは100問近くあるため、作業列を作るには
列数の制限があるので別シートを使うしか無いですかね。
1行の式でできる方法があれば助かります。
できるだけ簡略化したい理由は、
・自分しか使用しないものではない。
(他の人に使用させる必要もある)
・自分が担当しなくなっても、他の人でも簡単に理解して編集(変更)できるようにしたい
(マクロを知っている人はほとんどいない)
というもので、できるだけ迷惑をかけないで済むようにしたいからです。
その為、配列数式も使用したくないのです。
他の人が作った資料で、読み解くのに本当に苦労した経験があるので、
それをくり返したくないのです。
せっかく教えて頂いたのですが、2番目に多い値にはならず正しい結果が出ませんでした。
たとえば、データがA1セルから縦に 1,1,1,1,1,2,2,2,3,3,3,3 と12個はいっている場合
B1は、=MODE(A1:A12) を入れて 「1」という結果が出ます。
B2には、=MODE(A1:A12+((A1:A12=B1)+(A1:A12=""))/ROW($1:$12)) を
入れてやると、「2」という結果になります。
本当は「3」じゃないと駄目ですよね。
個人的には、難解な数式ではなくて、「ああ、そうか! そこに気づけば良かったか!」という
感じの数式にならないだろうか、という気持ちで質問しました。
別のシートで度数表を作成しておいて、RANK関数で順位を出しておくだけでも良いのかなという
気になってきました。