No.4
- 回答日時:
こんにちは~
> 一列の中で、何種類の文字列パターンがあるか
範囲は A1:A100 のように固定ですか? それとも変動するのでしょうか?
範囲が固定だとしても、範囲内に空白セルが 1つでもあれば、No.1さん、No.3さんのやり方ではエラーになると思います。
( No.1さんのように 60000行まで指定すれば、PCがフリーズするかも‥ )
★範囲が一定していない、または範囲内に空白セルもありうる場合、
( 最大 100行だとすれば )
=SUM(IF(LEN(A1:A100),1/COUNTIF(A1:A100,A1:A100),0))
または
=SUM(IF(LEN(A1:A100),MATCH(A1:A100,A1:A100,0)=ROW(A1:A100))*1,0)
と入れて、配列数式ですので Ctrl+Shiftキーを押しながら Enterで確定してください。
数式が { } で囲まれたら OKです。
囲まれなかったら NGですので、F2キーを押して編集モードにしてから、もう一度 Ctrl+Shiftキーを押しながら Enterを押してください。
★配列数式ですので、範囲が広いと重くなります。
shirotan99さん、こんにちは~。
丁寧ねアドバイス、ありがとうございました。
確かに今後、空白セルを含むケースが出てくる可能性があるので、
色々なやり方を教えていただけて、助かります。
LENとCOUNTIFを組み合わせて、こんなことができるのですね!
はずかしながら、なぜ、COUNTIFの後ろに、二つA1:A100
が来る意味もわかっていないので、
しっかり理解して、成長につなげたいと思います。
#No.3のコメントで書いた範囲指定の意味も、こちらの解説で分かりました。ありがとうございます。
配列数式は、重くなるんですね!
No.3
- 回答日時:
以下のサイト方法ですが如何でしょうか。
{=ROUND(SUM(1/COUNTIF(A1:A100,A1:A100)),0)}
{ }は関数入力最後にshift+ctrl+enterを同時入力して下さい。
参考URL:http://www.ichikura.com/excel-contents/ex-con.htm
この回答への補足
教えていただいたサイトもいいですねぇ。
列挙式でいろいろ書かれているので、
関数のチェックと手法の気付きに
活用させていただこうと思います。
mu2011さん、ありがとうございました。
試してみたら、うまくいきました。
自分ひとりだと全くうまくいかなかったんですけど、
色々な方法があるんですねぇ。
恥ずかしながら、{ }や、shift+ctrl+enterの意味も
分かっていないので、もう一度、教本を見返して、
分からなかったら、またgooに登校させていただくかもしれません。
No.2
- 回答日時:
こんにちは。
例えば、以下のように、1列の行の文字列が、10,000個あるとすれば、明示的に範囲を決めて、以下のように計算されることは出来ます。それは、#1 さんの式でも同様です。
=SUMPRODUCT((MATCH(A1:A10000,A1:A10000,0)=ROW(A1:A10000))*1)
しかし、暗黙的に、予め決め打ちして範囲を1列(仮に、10,000行でも)定めることは不可能ではないか、と思います。ExcelのVersion によっては、ハングするはずです。暗黙的に、1列の文字列のパターンをカウントするのは、式として長くなりますが、
=SUMPRODUCT((MATCH(INDIRECT("A1:A"&COUNTA(A:A)),INDIRECT("A1:A"&COUNTA(A:A)),0)=ROW(INDIRECT("A1:A"&COUNTA(A:A))))*1)
ということぐらいだと思います。しかし、これも、1列全ての65536個の文字列の場合や列の中間に、空白(Empty)がある場合はできません。
少なくとも、空白(Empty)が、間に含まれる場合は、以下のような式にして、
=SUM(IF(INDIRECT("A1:A"&COUNTA(A:A))="",0,IF(MATCH(INDIRECT("A1:A"&COUNTA(A:A)),INDIRECT("A1:A"&COUNTA(A:A)),0)=ROW(INDIRECT("A1:A"&COUNTA(A:A))),1,0)))
配列式ですから、F2を押して、『ShiftとCtrlを押しながらEnterキー』を押して、再確定して、答えを出すようにしなければならないと思います。
もし、ワークシート内の見栄えを考慮するなら、ユーザー定義関数ぐらいしかないか、と私は思います。
Wendy02さん、とても丁寧な解説、ありがとうございました。
確かに、決め打ちが不可能だったり、列間に空白があったりする可能性はありますので、とても参考になります。
しかし、INDIRECTの意味すらおぼつかないので、
もう一度、テキストをしっかり確認しようと思います(笑)
がんばらねば・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) googleスプレッドシートでカッコ内の文字数をカウントしたい 1 2023/01/17 15:52
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- その他(IT・Webサービス) 文字を種類ごとに分けてカウントしてくれるサイトなどご存知だったら教えてください。 私はあるゲームの確 1 2022/11/23 18:53
- Excel(エクセル) エクセル関数について 8 2023/06/28 17:04
- Excel(エクセル) AVERAGE関数とINDIRECT関数を使ってのオートフィル 3 2023/01/12 12:00
- Excel(エクセル) EXCELの「接続」のSQLのコマンド文字列にて、セルから任意の数値を利用したい 2 2023/03/09 16:43
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- C言語・C++・C# c言語 配列とポインタについて 3 2023/02/09 22:53
- Excel(エクセル) LEFT関数で文字数を指定しないで取りだす方法 7 2023/06/30 09:49
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
[EXCEL]列の項目を何種類かカウントする方法
Excel(エクセル)
-
エクセルで何種類のデータがあるかを調べる?
Excel(エクセル)
-
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
-
4
VBAでセル入力の数式に変数を用いたい
Excel(エクセル)
-
5
フィルターかけた後、重複を除いてカウントしたい。 すみませんアドバイスお願いします! 取引コード 販
Excel(エクセル)
-
6
【vba】指定範囲の中に任意の文字があるときの条件分岐
Excel(エクセル)
-
7
エクセルである行以下全部を削除する方法
Excel(エクセル)
-
8
エクセルでエラーが出て困っています。
Excel(エクセル)
-
9
Excel データの種類が何種類あるか数えるには…
Excel(エクセル)
-
10
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
11
エクセルで項目をひとつずつ抽出したい
Excel(エクセル)
-
12
Excelで外部のファイルの場所を毎回聞かれる
その他(Microsoft Office)
-
13
VBAで「致命的なエラー」が出ました。どのくらい致命的なんでしょうか?
Access(アクセス)
-
14
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
15
Excelに埋め込んだVBAのプログラムが消えた。
その他(Microsoft Office)
-
16
VBA SORT Applyでエラー
PowerPoint(パワーポイント)
-
17
excelのマクロで該当処理できなければ飛ばして進むにはどうすればよいのでしょうか
Visual Basic(VBA)
-
18
VBA データ(特定値)のある最終行を取得したい
Excel(エクセル)
-
19
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
20
EXCEL VBA で重複するデータを抜き出し、カウントしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel関数-文字列で自動作成さ...
-
エクセルの関数について教えて...
-
Excelデータをコピペして、ペー...
-
職場の人から聞かれており、こ...
-
ユーザー定義関数をアドイン登...
-
Excelで50個のセルに同じ文字を...
-
スプレッドシート、Excelでの数...
-
Microsoft Officeの中古は信用...
-
エクセルで不等号記号(≠)が上に...
-
スプレッドシートで使う数式を...
-
エクセルでの特別な文字を上に...
-
エクセル日付 文字列の関数がエ...
-
A列とB列を参照してC列に連番を...
-
エクセルVBA、別ブックへ転記す...
-
各ページの1番上の表示について
-
エクセルでセルに標準で入力さ...
-
EXCELの質問です 119から足した...
-
pdfの表をexcelにはりつけて計...
-
Excelのif関数で文字が見えなく...
-
【マクロ】アクティブセルにブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報