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ランキング
-
Excelはなんで先頭の0を消すん...
-
Excel元に戻す方法を教えてくだ...
-
【Microsoft Office Excel Comp...
-
Excelが固まってしまった。
-
西暦や和暦の表示をyyyymmdd表...
-
Excel 2019 のピボットテーブル...
-
【関数】スペースがいくつ入っ...
-
【Excel】セル内の時間帯が特定...
-
excelの不要な行の削除ができな...
-
Excelのオートフィル
-
別シートからの文字を変更
-
Excelのセルを飛ばして入力する
-
Excel初心者です。 詳しい方、...
-
エクセルの行の抽出について質...
-
Excel初心者です。 詳しい方、...
-
【マクロ】エクセルにかいてあ...
-
EXACT関数とIF関数の組み合わせ...
-
スプレッドシート クエリ関数 1...
-
エクセルで指定した日付、店舗...
-
Excelのグラフ軸について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報
それから、
回答にもなってないのに、何を調子こいてタメ口きいてんだお前?
それで父親か、笑える。