この前Excelの計算式を教えていただいたのですが、それをしたら、Countする列に文字と数字が一緒に入力するときがあります。そのときには、その文字と数字が一緒になったセルはカウントされません。たとえば、”N122”というように入力したときです。このセルもカウントされるようにする計算式はあるのでしょうか?もしあれば、その計算式を教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

□___A____|_B__|


1|会員番号|人数|
-+--------+----+
2|斉  藤| 2|
-+--------+----+
3|上 田| |
-+--------+----+

って具合な表(ちょっとずれてるかも知れませんが、雰囲気はOKですよね?)を作るとして、B2に入る数式を「=counta($A:$A)-1」にするのはどうですか?

あと、A列に氏名、B列に会員番号、C列に入会年月日、という具合に規則性のある集計表でしたら、ピボットテーブルが合目的的かも知れません。
    • good
    • 0

良かったら、下のものを試してみて下さい。


(長文です。すいません。)

マクロです。
最初だけ少し手順が必要ですが
その後はボタン一つです。ご協力下さい。


以下の手順でお願します。

「マクロの貼り付け」
「準備」
「実行」



「マクロの貼り付け」
1.新しいブックを開いて
2.Alt + F11 を押して VBE を起動して下さい。
3.ツールバーの「挿入」-「標準モジュール」
を選んで下さい。
4.出てきた白紙に下のソースを貼りつけて下さい。
5.ツールバーの「ファイル」-「終了してエクセルに戻る」
を選択してエクセルに戻って下さい。



「準備」
ツールバーの
「ツール」-「マクロ」-「マクロ」を選んで
中から「準備」を選択して、実行して下さい。


これで準備完了です。




「実行」
会員番号を入力してから、登録ボタンを押して下さい。
「登録しました。」とメッセージが表示されて
入場者数が1つ増えます。



長くなるので細かい説明は省略します。
説明が必要な場合はお手数ですが連絡下さい。


詳しい内容を教えてもらえれば
ご希望に近いもの
作ります。
シートの保護などはどうされますか。
シートに直接入力よりも
専用の入力画面を用意してはどうでしょうか。
きれいに、安全にできると思います。
良かったらご相談下さい。




下を貼りつけて下さい。





Sub カウントアップ()
Cells(4, 4) = Cells(5, 4).Value
MsgBox Cells(5, 4).Value & "人目として登録されました。 " & Date & " " & Time
End Sub
Sub 準備()
Sheets.Add
'グリッド
ActiveWindow.DisplayGridlines = False
'間隔
Columns("A:A").ColumnWidth = 8.5
Columns("B:B").ColumnWidth = 4.13
Columns("C:C").ColumnWidth = 12.13
Columns("D:D").ColumnWidth = 27
Columns("E:E").ColumnWidth = 4
Rows("6:6").RowHeight = 21
Rows("7:7").RowHeight = 14.25
Rows("8:8").RowHeight = 38.25
Rows("9:9").RowHeight = 15
'罫線
Range("C2:D5").Select
Selection.Borders.LineStyle = xlContinuous
Selection.BorderAround xlContinuous, xlThick
Range("C8:D8").Select
Selection.Borders.LineStyle = xlContinuous
Selection.BorderAround xlContinuous, xlThick
'書式
Range("D2").NumberFormatLocal = "ggge""年""m""月""d""日"""
Range("D3").NumberFormatLocal = "AM/PM h:mm"
Range("D5").NumberFormatLocal = "#,##0 ""人目"""
'文字サイズ
Range("C8:D8").Select
Selection.Font.Name = "MS Pゴシック"
Selection.Font.Size = 16
'太字 中央中央
Range("C2:D5").Select
Selection.Font.Bold = True
Selection.HorizontalAlignment = xlCenter
Selection.VerticalAlignment = xlCenter
Range("C8:D8").Select
Selection.Font.Bold = True
Selection.HorizontalAlignment = xlCenter
Selection.VerticalAlignment = xlCenter
'グレー
Range("C2:C5").Select
Selection.Interior.ColorIndex = 15
Range("C8").Select
Selection.Interior.ColorIndex = 15
'水色
Range("B7:E7,E8:E9,B8:B9,C9:D9").Select
Selection.Interior.ColorIndex = 34
'文字
Range("C2") = "日付"
Range("C3") = "現在の時刻"
Range("C5") = "来場者数"
Range("C8") = "会員番号"
Range("D2").FormulaR1C1 = "=NOW()"
Range("D3").FormulaR1C1 = "=NOW()"
Range("D4") = 999999
Range("D5").FormulaR1C1 = "=+R[-1]C+1"
Range("D14") = "↑上の登録ボタンを押すと"
Range("D15") = "「登録されました」とメッセージが出て"
Range("D16") = "来場者数が1つ増えます。"
'非表示
Rows("4:4").EntireRow.Hidden = True
'ボタン作成
Range("D10:D11").Select
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 159.75, 158.25, 165.75, 27). _
Select
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.ShapeRange.Shadow.Obscured = msoTrue
Selection.ShapeRange.Shadow.Type = msoShadow18

Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.SchemeColor = 11
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)

Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 45
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Fill.OneColorGradient msoGradientHorizontal, 2, 1#
Selection.Characters.Text = "登録ボタン"
With Selection.Characters(Start:=1, Length:=5).Font
.Name = "MS Pゴシック"
.FontStyle = "太字"
.Size = 16
.ColorIndex = 7
End With
Selection.HorizontalAlignment = xlCenter
Selection.OnAction = "カウントアップ"

Range("D8").Select
End Sub
    • good
    • 0

こんにちわ。



どういう集計をしたいのか不明ですが、COUNTA関数であれば、数字だろうが文字列であろうが数字文字列混在であろうが、とにかく何らかの「データ」が入ったセルの数を全て集計しますので、大丈夫ではないでしょうか?

この回答への補足

ありがとうございます。そのようでした。でも1行目に会員ナンバーという刻目を入れています。COUNTAの範囲を指定するときにその1行目のセルをのけて2行目からの範囲指定にしなければいけないというわけなのですか?それか列番号を選択すればその1行目を削除して総数を自動的に入力できる方法はありませんか?

補足日時:2002/03/31 14:21
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q元利均等法計算式の中のセルを、”そのセル=計算式”にしたい。

なんと表現すれば良いのか分からなかったので、分かりにくいタイトルですみません(>_<)

Excel2000で借入金の返済額を元利金等法で計算しています。
その式は分かるのですが、今回は元金、総支払額、毎月の支払額、支払い回数が確定していて、それから利率を出したいのです。

具体的には
A1→元金
A2→毎月の支払額
A3→総支払額
A4→支払年数
A5→支払回数(A4の年数×12)
A6→ここに利率を出したい

現在、
=A1*A6/12*(1+A6/12)^A5/((1+A6/12)^A5-1)
という式で毎月の返済額を出しています。
利率が分からない場合、他の情報でどういった式にしたら良いのか分からずに困っています。

応用編として覚えておきたいのですが、もしこういった状況になった場合、
たとえば上記の式からA6のところに”=計算式”を出せれば良いなと思っています。
未知数が違うセルになった場合、逆から=にするような機能?のことです。
もしExcelにこういう機能があったら良いのにな~と思っています。
お解りになる方、いらっしゃいますでしょうか?
解りにくかったら補足しますので宜しくお願い致します。

なんと表現すれば良いのか分からなかったので、分かりにくいタイトルですみません(>_<)

Excel2000で借入金の返済額を元利金等法で計算しています。
その式は分かるのですが、今回は元金、総支払額、毎月の支払額、支払い回数が確定していて、それから利率を出したいのです。

具体的には
A1→元金
A2→毎月の支払額
A3→総支払額
A4→支払年数
A5→支払回数(A4の年数×12)
A6→ここに利率を出したい

現在、
=A1*A6/12*(1+A6/12)^A5/((1+A6/12)^A5-1)
という式で毎月の返済額を出しています。
利...続きを読む

Aベストアンサー

 計算式は高校で習う程度の初等数学では出せません(高等数学は知りません)。しかし、エクセルの機能で算出することは可能です。まず、A1、A3、A4、A6に基準となるべき数字を入れて、A2、A5を所定の数式で算出してください。それが終わりましたら、A2を選択してツール→ゴールシークをクリックして目標値に求めたい金利の毎月の支払い額を入力して、変化させるセルとしてA6を指定してください。そうすれば、返済額から金利が求められます。

QExcelのセルに数字と記号が混在している中から数字だけ選択してその数字を他のセルに記載する

Excelのセル(A)に数字と記号が混在していて、セル(A)の中から記号を除いて数字だけを選択してその数字をセル(B)に記載することはできるのでしょうか。ご教授頂ければ幸いです。「教えて!」よろしくお願いいたします。

Aベストアンサー

No.3です。
投稿を確認していると言葉足らずに気づきました。

>まずAlt+F11キー → メニュー → 挿入 → VBE画面のカーソルが点滅しているところに・・・
では判りにくいと思います。
>Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面の・・・
(「標準モジュール」を選択する部分が抜けていました)

どうも失礼しました。m(_ _)m

Qセルに最初からある文字列を表示させておいて、そのセルを選択したら、その文字列の後から3桁数字を入力できるようにしたい

タイトルが長くてすみませんm(_ _)m
エクセル(97)に関しての質問です。

例えば、セルの中に最初から「15-G」という文字列を
表示させておいて、(ダブルクリックして編集という
形じゃなくて)そのセルを選択しただけで、
その文字列の後から3桁の数字を入力できるように
したいのですがいい方法はないでしょうか?

他にやってみた方法で、ユーザー定義(私が考えた定義→「"15-G"@」)でセルに3桁の数字(例えば567)を入力しますと、「15-G567」というように表示させる事が出来たのですが、何も入力されてない時は当たり前ですが空白のままです。
出来れば、最初から「セルの中の始めに15-Gという文字列を」表示させておきたいのですが…

Aベストアンサー

diashun です。
諦めずに挑戦するお気持ち、敬意を払います。
さて、エラー箇所を特定するためにデバッグモードでVBAを動かしてみましょう。
1.「Sheet1」のVBE編集画面を開いてください。
「Private Sub CommandButton1_Click()」の行とプロジェクトツリーの境界で右クリックしてください。
これでその境界部分に茶色の●が表示され、「Private Sub CommandButton1_Click()」の行も茶色の帯がつきましたか?
これは「ブレークポイント」といい、プログラムの実行を任意に中断する場合に指定します。
2.Excelの「Sheet1」に戻り、「CommandButton1」をクリックします。(この時、コントロールツールボックスのデザインモードを終了しておいてください)
3.VBEの[Sheet1」のブレークポイントのところで黄色い帯が表示されてプログラムの実行が中断されていますか?
ここまで「OK」でしょうか?
4.次の行からプログラムの実行を継続させます。
「F8」キーを一回押してください。
黄色い帯が次行(Set_String1)へ移動しましたか?
さらに「F8」キーを押すと「Module1」の「Set_String1」プロシージャVBE画面へ遷移するはずですが、ここまで「OK」ですか?
5.「F8」キーを一回ずつ押して一行ずつ実行してください。
エラー箇所があれば何らかのエラーダイアログとメッセージが表示されるはずです。その時「終了する」と「デバッグする」のボタンも表示されるので「デバッグする」のボタンを押すと、エラー行の場所が黄色い帯で表示されますので、その行内容とエラー表示メッセージの文言をお知らせ下さい。

>「Module1」の所が紺色に反転しています・・・は関係ないと思います。

ただ念のため「ThisWorbook」「Sheet1」「Module1」のVBEが下記の通り間違いないか、再確認もしておいてください。
●「ThisWorbook」のコード
Option Explicit

Private Sub Workbook_Open()
Dim strDefAry() As String
Dim i As Integer
ReDim strDefAry(0 To 9) As String '仮に10種類の文字列(ランダムな文字)を登録します。

strDefAry(0) = "15-G"
strDefAry(1) = "11-A"
strDefAry(2) = "15-V"
strDefAry(3) = "10-H"
strDefAry(4) = "11-R"
strDefAry(5) = "13-Y"
strDefAry(6) = "19-X"
strDefAry(7) = "00-D"
strDefAry(8) = "01-W"
strDefAry(9) = "15-K"

For i = 0 To 9
Sheet1.ListBox1.AddItem strDefAry(i)
Next i

Sheet1.ListBox1.Visible = True
ThisWorkbook.Sheets(1).Activate

End Sub

●「Sheet1」のコード
Option Explicit

Private Sub CommandButton1_Click()
Set_String1
End Sub

●「Module1」のコード
Option Explicit

Public Sub Set_String1()
Dim strCell As String, lngRowNum As Long, strDefStr As String
Dim i As Integer

strCell = InputBox("入力する列を「A,B,C,・・・」と入力して下さい。", "列入力")
strDefStr = Sheets(1).ListBox1.Text
lngRowNum = ActiveCell.Row
Call Set_String2(strCell, strDefStr, lngRowNum)
End Sub

Public Sub Set_String2(strCell As String, strDefStr As String, lngRowNum As Long)
Dim i As Integer

Range(Cells(lngRowNum, strCell), Cells(lngRowNum, strCell)).Activate
Range(Cells(lngRowNum, strCell), Cells(lngRowNum, strCell)) = strDefStr
End Sub

あと、Excelの「Sheet1」に「CommandButton1」と「ListBox1」は貼り付けられていますね?
以上、またご連絡をお待ちします。
でも、お忙しいならいつでもいいですよ。
気長にお付き合いしますので、(^_^)

diashun です。
諦めずに挑戦するお気持ち、敬意を払います。
さて、エラー箇所を特定するためにデバッグモードでVBAを動かしてみましょう。
1.「Sheet1」のVBE編集画面を開いてください。
「Private Sub CommandButton1_Click()」の行とプロジェクトツリーの境界で右クリックしてください。
これでその境界部分に茶色の●が表示され、「Private Sub CommandButton1_Click()」の行も茶色の帯がつきましたか?
これは「ブレークポイント」といい、プログラムの実行を任意に中断する場合に指定します。
2....続きを読む

Q複数のセルをまたぎ、各セル内の数字をカウントしたい

助けてください。Excelで添付画像のようなカウント処理を実施する方法を教えてください。

【やりたいこと】
 1. カウント単位 → 1行ごと
 2. カウント対象 → 各セルに入力された数字(複数の場合はカンマで区切られている)
 3. カウント結果 → 各行の赤枠内に出力

先達のお知恵をなにとぞお借りしたく、よろしくお願い申し上げます。

Aベストアンサー

C2:N2の範囲を、B2にカウントすると仮定して、
{=COUNTA(C2:N2)+SUM(LEN(C2:N2)-LEN(SUBSTITUTE(C2:N2,",","")))}
でいかがでしょうか。
実際には{ }は入力しないで、Enterの代わりに配列数式として、Ctrl+Shift+Enterで確定して下さい。
カンマ区切りで3個以上にも対応できるつもりです。

配列数式については、必要により下記等をご覧下さい。
http://office.microsoft.com/ja-jp/excel-help/HA010228458.aspx

Qセルに文字と数字が混在しているセルのカウント

   A  B  
1   杉  A
2 2松  B
3   3   A
4   杉  B
5  林  A
6 1森  A 


というセルがあります。
ここでA列は数値が含まれているセル
B列はAという行の数をカウントしたいと思います。

この表でこの条件だと3行と6行が該当しますので
答えは2になります。
どう関数を使えばいいでしょうか?

Aベストアンサー

=SUMPRODUCT((ISERROR(LEFT(A1:A6,1)+0)=FALSE)*(B1:B6="A"))


人気Q&Aランキング

おすすめ情報