
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
No2です。
ご要望のようなので、ご参考までに。
以下は、あくまでもエクセルによる方法です。
◇1. 関数による方法
エクセルの場合、関数から直接チェックボックスの値は参照できないのと、チェックボックスの位置とセル位置にも関係がないため、まず、チェックボックスのリンクセルの設定で値を読めるようにしておきます。
添付図ではチェックボックスのあるセルにリンクさせて、表示文字色を白に設定してあります。
この結果、チェックボックスにはTRUE/FALSEの値が入っていますが、見た目にはわからないようになっています。(無理に同じセルにしなくても、別の列にリンクさせても良いです)
これにより、ご質問の内容は「TRUEが連続する回数を表示する」と同じ意味になります。
関数で、対象セルから上方にある最初のFALSEを求めます。
※ ご提示の図ではセルの行数が不明ですが、チェックボックスのある最初の行を3行目と仮定しています。
添付図で、K3セルでの式を考えてみると、
=IFERROR(AGGREGATE(14,6,ROW(I$3:I3)/NOT(I$3:I3),1),2) ---①
とすることで、直近にあるFALSEの位置(行番号)を求められます。
連続回数を求めるには、自分の行番号との差を求めればよいので、
=ROW() - ①
で算出できますが、この値が3(回)以上の場合だけ表示するというのが条件なので、
添付図のK3セルには
=IF(ROW()-①<3,"",ROW()-①)
に相当する式を入れて、K、L列にフィルコピーしてあります。
◇2. ユーザ定義関数による方法
エクセルでは、ユーザが定義した関数を利用できます。
スプレッドシートでも同様の手段が設けられていたかと思います。
添付図では、N3セルに
=countSeries(I3)
を入力し、N、O列にフィルコピーしています。
(countSeries はユーザ定義関数名。名前は自由です。)
当然ですが、結果はK、L列と同様になります。
実際には、エクセルはVBA、スプレッドシートではGAS(javascript)によることになるため、言語が違うので単純な置き換えはできませんが、ロジックはほぼそのまま利用できるはずと思います。
内容的には簡単なものなので、とりあえず以下に記しておきます。
Function countSeries(ByRef t As Range) As Variant
Dim rw, col
Application.Volatile
countSeries = ""
col = t(1).Column
If (col < 9 And 10 < col) Or Not t(1) Then Exit Function
countSeries = 0
For rw = t(1).Row To 3 Step -1
If Not Cells(rw, col) Then Exit For
countSeries = countSeries + 1
Next rw
If countSeries < 3 Then countSeries = ""
End Function
◇3. イベント処理による方法
ユーザ定義関数を用いる代わりに、チェックボックスの値が変化した際に計算処理を行う仕組みを設定する方法です。
スプレッドシートでもイベント処理の設定は可能なはずです。
実際の内容としては、ユーザ定義関数と似たようなものですが、セルに直接結果を記入することになるので関数等の設定は不要になります。
こちらの方法の場合は、イベントの設定方法や処理方法もエクセルとはまったく異なるものになると推測しますので、具体例は省略しておきます。

No.2
- 回答日時:
こんばんは
Googleスプレッドシートはほとんど知りませんけれど、エクセルでよければ同様のことを実現する方法は複数案考えられますし、そちらであれば提示することは可能です。
一方で、スプレッドシートはエクセルに似せて作られてはいますが、完全な互換性があるわけではないので、仕様や書式にもいろいろと違いがあると想像されます。
質問者様の技量が不明ですが、エクセルでの方法をスプレッドシートに応用・展開できる程度であるのなら多少の参考にもなるでしょうけれど、コピペ専門の場合はまず役に立たないでしょうから、無駄手間になるだけなのでやめます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) スプレッドシートのチェックボックスとフィルタを連携させたい 2 2022/09/26 18:02
- 野球 楽天VS西武の話 2 2022/07/10 22:16
- Visual Basic(VBA) 【Excel VBA】条件に合った行の表示・非表示を行う方法 3 2023/03/18 12:31
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 17:07
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Visual Basic(VBA) エクセルでフォームのチェックボックスを使用した日付表示切替を作りたい 3 2023/07/11 10:47
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- 野球 プロ野球の話 1 2022/06/08 15:34
- 統計学 「Newton」7月号特集記事 6 2022/06/07 21:27
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】元データと同じお客...
-
エクセルの複雑なシフト表から...
-
【画像あり】オートフィルター...
-
【マクロ】【相談】Excelブック...
-
【マクロ】変数に入れるコード...
-
【マクロ】別ファイルへマクロ...
-
エクセルシートの見出しの文字...
-
【マクロ】数式を入力したい。...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
【マクロ】左のブックと右のブ...
-
Amazonでマイクロソフトオフィ...
-
エクセルのVBAで集計をしたい
-
エクセル GROUPBY関数について...
-
【マクロ】オートフィルターの...
-
【マクロ】列を折りたたみ非表...
-
ページが変なふうに切れる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報
それから、
回答にもなってないのに、何を調子こいてタメ口きいてんだお前?
それで父親か、笑える。