• ベストアンサー

エクセル(こんな関数ってありますか)

エクセルで下記のような表を作成したいと思っています。          金額    件数 (数式部分) =1,000+100 ? (セル表示)   1,100 2 数式部分(=1,000+100)は自分で入力をして、足し算をした回数=件数(上記の例で言えば”2”)として表示したいです。 質問の意味がわかりにくいかもしれませんが、わかる方がいたらよろしくお願いいたします。m(_)m

  • masio
  • お礼率69% (9/13)

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

こんばんは。Wendy02です。 >金額のところが”0 ”のときでも、件数が”1 ”となってしまいます。 単に、こういうことではありませんか? =IF("=" <>LEFT(Formula,1),"",LEN(Formula)-LEN(SUBSTITUTE(Formula,"+",""))+1) つまり、そのセルが文字の左1番目が「=」があるかどうかで、数式を判定してから計算するわけです。

masio
質問者

お礼

できました(喜)Excelはいろいろできるんですね。 何度も回答をしていただき、本当にありがとうございました!!

その他の回答 (5)

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.5

No.3です。補足拝見しました。 金額が0のときは0になるように手を加えました。以下のマクロと置きかえてください。 なお、置きかえたあと、Excelの画面に戻ってF9を押して再計算をしてください。 Function CountSum(Target As Range) As Integer   If Target.Value = 0 Then     CountSum = 0   Else     CountSum = Len(Target.Formula) - (Len(Replace(Target.Formula, "+", ""))) + 1   End If End Function

masio
質問者

お礼

できました(喜)Excelはいろいろできるんですね。 何度も回答をしていただき、本当にありがとうございました!!

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 最初に、数式が、A1 にあるとしたら、マウスでセルポインタをB1に合わせておいて、  挿入→名前→定義で、  仮に、Formula とでもします。 参照範囲  =GET.CELL(6,!A1)&T(NOW()) 入れて、「OK」 後は、B1 に以下の数式を入れます。 =LEN(Formula)-LEN(SUBSTITUTE(Formula,"+",""))+1 演算子が、混在の場合は、ユーザー定義関数のほうが楽です。 なお、数式は、別のシートにはコピーはしないようにしてください。新たに、名前-定義を繰り返したほうが良いです。

masio
質問者

補足

やってみたら、できました(喜) でも、あとひとつだけ・・・。 金額のところが”0 ”のときでも、件数が”1 ”となってしまいます。 金額を入れないときは件数を”0 ”にしたいのですが、可能でしょうか? その部分だけ数式を入れないのが一番簡単なのかもしれませんが・・・。 ham_kamoさんにも重ねて質問させていただいてます。 よろしくお願いいたしますm(_)m

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.3

No.2です。 マクロは貼り付けたらそのウィンドウは閉じてかまいません。Excelの画面に戻って、セルに数式を入れればOKです。 ただし、設定によっては、そのファイルを保存した後、開くときに警告が出てきて「マクロを無効にする」「マクロを有効にする」というボタンが出てくるかもしれません。その時は「マクロを有効にする」を押してください。

masio
質問者

補足

やってみたら、できました(喜) でも、あとひとつだけ・・・。 金額のところが”0 ”のときでも、件数が”1 ”となってしまいます。 金額を入れないときは件数を”0 ”にしたいのですが、可能でしょうか? その部分だけ数式を入れないのが一番簡単なのかもしれませんが・・・。 Wendy02さんにも重ねて質問させていただいてます。 よろしくお願いいたしますm(_)m

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

ユーザ定義関数を作ってみました。足し算限定ですが。 Alt+F11でVBAの画面を起動し、「挿入」>「標準モジュール」を選択して、以下のマクロを右の画面に貼り付けてください。 Function CountSum(Target As Range) As Integer   CountSum = Len(Target.Formula) - (Len(Replace(Target.Formula, "+", ""))) + 1 End Function これで、A1に数式が入っている場合、 =CountSum(A1) で足し算をした回数が表示されます。

masio
質問者

補足

「標準モジュール」で「Book1 -Module2」(コード)というウィンドウが開きました。貼り付けた後、具体的にどうすればいいのでしょうか? この作業ははじめてでまったくわかりません。右上の×でウィンドウを消してしまうのでしょうか?

回答No.1

マクロがわからないので、関数でなおかつ私が知っている範囲での 答えになるのですが      A    B    1 1000 100 (手入力)  2 =A1+B1 =COUNT(A1:B1)  3 =A2&B2 で、A3にやっと 11002 という答えが出てくるのですが これではどうでしょう? 手入力する数が未定であれば A1は =SUM(1:1)、B2のセルに=COUNT(2:2)でも 計算できます いいと思うのですが

masio
質問者

お礼

質問の書き方がちょっと悪かったですかねー。 ham_kamoさんやWendy02さんのやり方でできました。 回答どうもありがとうございました。

関連するQ&A

  • エクセルと関数について

    エクセルと関数について 以下のような表を作成しました。 漫画喫茶の料金を計算したいのですが、 喫茶Aは1時間まで400円、それ以降は30分毎に200円加算。 喫茶Bは20分毎に300円 喫茶Cは10時間まで1時間ごとに100円、10時間以降は1000円加算。 下記表のA列3行目以降に時間の表示を入力しています。 1時間も1:00ではなく、数値の1.0を入力して時間としています。 下記の表の空欄セルにどんな数式を入力すればいいでしょうか。 よろしくお願いします。

  • エクセル関数についてお聞きします。

    いつもお世話になっています。エクセルについて質問させていただきます。 とある表を作成しているのですが、例えば、A列の中で、特定の数字だけの個数の合計や文字(例 休み)の入ったセルの個数を合計して表の合計欄に表示させる様な数式はどの様に作ればよろしいのでしょうか?言葉足らずかもしれませんが、どうかご教授ください。宜しくお願いします。

  • エクセル関数おしえください。

    時間の管理表を作成したいのですが、 例)7:00~23:00まで(内1時間は休憩)働いた場合。 エクセルに「開始セルに7:00」「終了セルに23:00」と入力。 (1)8時間労働超えた時間の表示 (2)さらに22:00以降の時間の表示 よろしくお願いします。

  • エクセル 関数について

    初心者です。 表を作成し、セルの範囲内に数を入力されていれば計算するような数式を作りたいのですが、どうやって作ればいいのか分かりません。教えてください。 例  A  B  C  D  E 1  10       60% 数式(A・B・C)×D  2    20    60%   〃 3       30  60%   〃   こんな感じです

  • エクセルについて教えてください

    単純なエクセルの表を作り、一つのセルに「例:=5+5」と入力をすると、「=5」と入れた時点で、別のセルへ移動してしまい、数式が入力できません。なぜでしょうか?

  • 関数を教えてください。

    下記のようにF~Lのセルに1~3の数字を入力したときに Mのセルに下記のように表示されるには、どのような数式だと 可能でしょうか? 色々教えていただいたのですが、複合したときにエラーが出てしまい 未熟な私では数式を作れませんでしたので どなたかご教授願います。 FGHIJKL  M あいうえおかき 1        あ  1       い   1      う    1     え     1    お      1   か       1  き 2        あ2  2       い2   2      う2    2     え2     2    お2      2   か2       2  き2 3        あ3  3       い3   3      う3    3     え3     3    お3      3   か3       3  き3 11       あ・い  11      い・う   11     う・え    11    え・お     11   お・か      11  か・き

  • excelで関数が入力できないのですが・・・

    質問があるんですが、excel2003でセルに関数を入力しようとしたら 「入力した数式は正しくありません」って表示が出て 関数が入力できません。ただし、シートのすぐ上にあるfx(関数の挿入) からだと入力できます。数式自体は間違ってないのになぜなんでしょうか? 2000だったら入力できるんですが・・・ しょうがないので今は、openofficeってソフトにある表計算を 使っているんですが、それも入力できます。 excel2003だけ入力できないのはなぜ!?

  • エクセルと関数について

    エクセルと関数について 売店チケット 件数 料金 性別 6000 2 6000 男 6000 0 6000 女 上記のような表をエクセルで作成しました。 左からA列 売店チケット B列 件数 C列 料金 D列 性別です。 売店チケットは3000円単位で、6000円だと2件になります。 でも、手打ち入力なので、ミスすることも多く、B列の0件はエラーで、正しくは2件なのです。 そこで質問なのですが、関数で もし、A列に金額が入っていれば(ゼロ以外)、B列の0は数字上 おかしいので、エラーを表示するような数式を作りたいです. 例えば、E列の1行目に「エラーですよ」的な表示はまとめてできますか? B列は1行目から3000千行目位までデータが入っているとします。 売店チケットに金額の表示があるのに、B列が一件でもゼロだと間違いなのです。 うまく表現できていないかもしれませんが、よろしくお願いします。

  • エクセルの関数

    初心者的な質問で申し訳ないのですが、教えてください。 会社で振込するのにエクセルで一覧表を作成しているのですが、 振り込み金額によって手数料が金額によって変動するので それを関数にして自動的に手数料が表示されるようにしたいと 思います。 例えば A1のセルに 100,000円と入力したら  B1セルに 735円と自動的に表示。 また、A1セルに 10,000円と入力した場合は B1セルには 525円と自動的に表示。 振込手数料は30000円以上で×××円       30000円未満で○○○円となっているので それを関数にできれば思っています。 アバウトな文章で申し訳ございませんが、お分かりになる方が いましたら教えてください。

  • エクセル2002のセル参照での色分け表示

    エクセル2002でセルに数式を入力して、そのセルを編集状態にすると参照セルが色の付いた枠で表示されますが、その表示がセルの参照が33個になったら突然表示がされなくなってしまいます。エクセルの仕様を調べてみてもそのような記述は見当たりません。 入力した数式は  +a1+b1+c1+d1+e1+f1+g1+h1 のよう形で、複数のセルを単純に足し算するものです。よろしくお願いします。

専門家に質問してみよう