こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

数式(関数)について

  A  B  C  D  E  F  G  H  I
1 ア ア ウ ア ア オ カ ア ア
2 1 2   3 4     1 2
このようにA2:K2に数式を入力して「あ」の文字数を数えたいのですが、数が5になったらまた1から数えたいのです。
C2のように空白は条件付き書式で白文字にするとして
どんな数式を入力すればいいのでしょうか?

投稿日時 - 2006-11-08 21:30:43

QNo.2526579

困ってます

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

5を1に数えればいいなら
A2=IF(A$1="ア",MOD(COUNTIF($A$1:A$1,"ア")-1,4)+1,"")
として右にコピーしてください。

投稿日時 - 2006-11-08 21:37:25

お礼

数式の意味がまだはっきり分からないのですが、
その通り数式を入力したらできました。
ありがとうございました。

投稿日時 - 2006-11-08 21:48:21

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

私は皆さんのように知識がないので、全くの蛇足です。スミマセン。これまで回答者された方は勿論、質問された方も十分承知のことと思いますが、Excelで数式を利用するとき、変更される可能性のある因子は、変数としてセルの外に置いた方が何かと便利です。今回の場合でしたら、"ア"を"イ"等に変更する可能性が考えられると思います。やり方の一例を挙げておきます。まず、A列に1列挿入し、下表のX("B2")のセルに、以下を貼り付けExcel上でコピーして下さい。
X("B2") = IF(B$1=$A2,MOD(COUNTIF($B$1:B$1,$A2)-1,4)+1,"")

  A B C D E F G H I J
1   ア ア ウ ア ア オ カ ア ア
2 ア X
3 イ
4 ウ
5 エ
6 ・

集計したい文字が全角/半角のカタカナにひらがなまで混じっているような事態は想定外かもしれませんが、万一そうなった場合でも条件式を大幅に書き換えるのは面倒だと思います。そこで、B行に1行挿入し、下表のY("B2")のセルに、以下を貼り付けExcel上で行(横)方向にコピーして下さい。この操作により全て全角のカタカナに統一されます(マクロにある関数が使えればもう少し気の利いたやり方になるように思いますが、私の実力ではこうなってしました)。
Y("B2") = IF(CODE(JIS(B1))>=CODE("ア"),JIS(B1),CHAR(CODE(JIS(B1))+CODE("ア")-CODE("あ")))
X("B3")のセルは、先ほどの1行挿入後、
=IF(B$1=$A3,MOD(COUNTIF($B$1:B$1,$A3)-1,4)+1,"")
となっていますので、数式の$1を全て$2に置換して下さい。置換が分からなければ、下表のX("B3")のセルに、以下を貼り付けExcel上でコピーして下さい。
X("B3") = IF(B$2=$A3,MOD(COUNTIF($B$2:B$2,$A3)-1,4)+1,"")

  A B C D E F G H I J
1   ア あ ウ ア ア オ か ア あ ← 半角カタカナも可
2   Y
3 ア X
4 イ
5 ウ
6 エ
7 ・

以上のような変数化を行うとフレキシブル性が増すので、利用面では便利になると思います(自分だけでなく同僚への紹介等でも)。ただ作業効率との兼ね合いで、数式を直接書き換えた方がよっぽど早いという場合もあると思いますので、ケース・バイ・ケースでお考え下さい。

なお、数式の基本的なところは、mshr1962さんの回答からお借りしました。勝手にお借りし、申し訳ありませんでした。またNoubleさんの回答はとても参考になりました。ただ関数をかなり使いこなしていないと出てこない発想ですね(私が無知なだけかもしれませんが)。

投稿日時 - 2006-11-09 01:51:06

お礼

まだ使った事のない関数がありましたが、たいへん参考になりました
ありがとうございました。

投稿日時 - 2006-11-09 13:08:07

ANo.3

>C2のように空白は条件付き書式で白文字にする…
その必要はありません

A2に
=IF(A1="ア",MOD(SUMPRODUCT(($A$1:A1="ア")+0),5),"")
と入力して
必要分右へコピーしてください

投稿日時 - 2006-11-08 23:16:53

お礼

ありがとうございます
数式を入力しましたら5番目の「ア」が0になったのですが・・・?

投稿日時 - 2006-11-08 23:37:52

No.1さんの式は短くて見事ですが、「数式の意味がまだはっきり分からない」とか。
長くなりますが、次の式だったらお分かりですか?
=IF(A1="ア",IF(MOD(COUNTIF($A1:A1,"ア"),4),MOD(COUNTIF($A1:A1,"ア"),4),4),"")

ますます分からないとか?失礼しましたm(__)m

投稿日時 - 2006-11-08 22:07:47

お礼

数式入力しましたらできました。
ありがとうございます。
いろいろな考え方があるものですね・・

投稿日時 - 2006-11-08 23:33:00

あなたにオススメの質問