
1行目:0,0,0,0,1,1,1,1,2,2
2行目:1,1,0,2,2,2,1,1,0,0
3行目
・
・
・
のように数字がセルに入力されています(カンマ区切りで、一つのセルには一つの数字しか入っていないことを示しています。)
空欄のセルはありません。
1行目だったら、0が4回、1が4回、2が2回続くので、
4,4,2
2行目だったら、1が2回、0が1回、2が3回、1が2回、0が2回続くので、
2,1,3,2,2
のように結果が表示される方法を調べています。
各行の数字は81個並んであり、数字の変化は最大で10回、最小で0回(ずっと同じ数字のまま)であることがわかっています。
sumproductとmatchを使えばできるかなと思ったのですが、うまくいきませんでした。
お知恵をお貸しください。
No.2ベストアンサー
- 回答日時:
答えは、どんな感じで表示したいのでしょうか?ひとつのセルに、”4,4,2”と表示して良いのでしょうか?
であれば、まず、次のユーザ定義関数(MyCount)を標準モジュールに張り付けて下さい。
そして、適当なセルに、=MyCount(A1:CC1) と入力すれば、A1~CC1セル(81列)の連続個数が表示されます。
Function MyCount(My範囲 As Range) As String
Dim I As Long
Dim J As Long
I = 1
Do Until I > My範囲.Count
J = 1
Do Until My範囲(I) <> My範囲(I + J) Or I + J > My範囲.Count
J = J + 1
Loop
If MyCount2 <> "" Then MyCount2 = MyCount2 & ","
MyCount2 = MyCount2 & J
I = I + J
Loop
End Function
ご回答ありがとうございます。
何度もチャレンジしてみたのですが、標準モジュールに張り付けた後に
=MyCount(A1:CC1)
をセルに入力しても、空白のままです。
なぜだかわかりません。
No.4
- 回答日時:
いちおう計算速度上昇させた数式
作業列は同じ
B16セル
=MATCH(0,B8:K8)
下へオートフィル(二分検索なので早いはず)
C16セル
=IF($K8<C$15,"",MATCH(C$15,$B8:$K8)-SUM($B16:B16))
右へ下へオートフィル
総計算するCountifは理解しやすいですが、こちらの方が計算が早いと思います
たびたびのご回答ありがとうございます。
この方法の方が、前回よりも目に見えて計算が早くなりましたが、それでも計算完了まで数分かかってしまいます。
どうも、作業セルが計算速度を圧迫しているようですね。
ありがとうございました。
No.3
- 回答日時:
No2ママチャリです。
申し訳ありません。プログラムに誤りがありました。
プログラム中に、MyCount2 という変数が5箇所ありますが、これをMyCount に修正してください(2を取る)。
これで大丈夫だと思います。
さらなるご回答ありがとうございます。
MyCountに修正したら計算できました。
実は、No.1の方のような、1セルに1個の結果のエクセル出力をイメージしていたのですが、カンマで区切っている部分をCSVで保存してから、改めて開き直したらイメージしている形に近いデータになりました。
とても助かりました。
No.1
- 回答日時:
作業用の表を作って良いなら
A列は理解しやすいようにしているだけです
B8セル 0
C8セルに =SUM(B1<>C1,B8)
右へオートフィル
B8:K8セル範囲を下へオートフィル
B15セルから右へ0から連番
B16セルに
=IF($K8<B$15,"",COUNTIF($B8:$K8,B$15))
右へ下へオートフィル

ご回答ありがとうございました。
お返事が遅くなりました。
まさにこのようなイメージのものを考えていました。
助かります。
ただ、2万行くらいデータがあって、データを更新(追加)するたびに再計算して計算が止まってしまいますね(作業するときは手動にすれば良いですが)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel関数の質問です。 5 2022/04/23 12:53
- その他(Microsoft Office) ある表(10桝程度)の中に数字が入っています。ダブっている数字を除く数字の合計数の計算方法 5 2023/02/15 11:33
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Excel(エクセル) Excelで、行に複数の数字が入力されているセルが複数の列存在し、行を跨いでセル内の数値を並び替える 5 2022/06/17 18:03
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Visual Basic(VBA) 先頭と末尾を指定して連続した数字を入力 1 2022/09/14 13:12
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Excel(エクセル) エクセルについて教えてください。 1回目が80以上(数字) or 対象外 (文字列)or (空欄) 2 2022/10/17 11:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAで集計をしたい
-
【マクロ】元データと同じお客...
-
【画像あり】オートフィルター...
-
【マクロ】数式を入力したい。...
-
Office2021のエクセルで米国株...
-
【マクロ】【相談】Excelブック...
-
vba テキストボックスとリフト...
-
【マクロ】実行時エラー '424':...
-
【マクロ】【配列】3つのシー...
-
他のシートの検索
-
【マクロ】オートフィルターの...
-
【マクロ】列を折りたたみ非表...
-
【関数】同じ関数なのに、エラ...
-
ページが変なふうに切れる
-
エクセルのリストについて
-
【マクロ】左のブックと右のブ...
-
【条件付き書式】シートの中で...
-
エクセルの関数について
-
エクセル ドロップダウンリスト...
-
9月17日でサービス終了らし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報