No.7ベストアンサー
- 回答日時:
◆先程の回答で、順位を表示させなくてもできます
A B
1 ああああ ああ
2 ああ あああ
3 あい ああああ
4 あう あい
5 あいあい あいあい
6 いいい あう
7 あああ いいい
B1=IF(COUNTA(A:$A)<ROW(),"",INDEX(A:A,MATCH(ROW(),INDEX(COUNTIF($A$1:$A$10,"<="&$A$1:$A$10),),)))
★下にコピー
回答ありがとうございます。
こんなに簡単に順位をつけられてしまうなんて、拍子抜けです!!
>COUNTIF($A$1:$A$10,"<="&$A$1:$A$10)
こんな使い方(特に<=の部分におどろき)が出来るのですね♪
このやり方で何とかなりそうな様相です。
頑張ってみます。
ありがとうございました。
No.8
- 回答日時:
こんにちは。
回答ではないのですが、#7 の回答、感服しました。私が、某所で書いていたころは、誰も解答できませんのでしたの、隔世の感を感じました。
いいわけとしては、あまり長く、関数の世界には留まらなかったので、VBAのユーザー定義関数で、解いてしまいました。どのみち、関数というのものは、人が作ったものですから、そういう既成の枠の中で考えるのが面倒というか、ばかばかしく感じることがあります。確かに、初期の関数のコンセプトを考えた人たちには、敬意を払いますが、現行の関数は、バグが残っていたり、むやみに変更してみたりして、統一性もない関数を使わされるのには、閉口するときがあります。
ご質問者さんには、失礼な回答をしたことをお詫びします。m(__)m
No.6
- 回答日時:
◆こんな方法はいかがでしょうか
A B C
1 ああああ 3 ああ
2 ああ 1 あああ
3 あい 4 ああああ
4 ああ 6 あい
5 あいあい 5 あいあい
6 いいい 7 あう
7 あああ 2 いいい
★B列に順位を表示します
B1=IF(A1="","",COUNTIF($A$1:$A$10,"<="&A1))
★下にコピー
★C列にひらがなを昇順に
C1=IF(COUNTA(A:$A)<ROW(),"",INDEX(A:A,MATCH(ROW(),INDEX(COUNTIF($A$1:$A$10,"<="&$A$1:$A$10),),)))
★下にコピー
No.5
- 回答日時:
> 回答ありがとうございます。
> 今回の趣旨とは外れてきます。
> いやぁ、まいった・・・♪
一応お礼は言われているので、多分他意はないのでしょうが、
最後の八分音符に回答者諸氏を試しているニュアンスを感じましたので、
私は、降ろさせていただきます。
再度質問に戻って見ていただきありがとうございます。
>回答者諸氏を試している
なんていうつもりは全くございません。
そのようなニュアンスに見えましたことをお詫びいたします。
ホントにまいっているため、お礼文面で表現のしようがなかったため
「いやぁ、まいった…♪」と自然に使ってしまいました。
またお目にかかった折にはよろしくお願いいたします。
No.4
- 回答日時:
#2 のWendy02です。
>いやぁ、まいった・・・♪
こういう問題を個人の解決のテーマとして持ち続けるのは良いとは思います。
ですが、もう少し、自分の中で冷静に考えてみてください。
まず、関数は、一部は、文字列は、0 とみなすように出来ているのと、そうでないものは、文字列が入るとエラーを出すように作られています。逆にいうと、関数の比較は、数値を処理するために出来ています。
私個人は、その問題を、数年前にユーザー定義関数で解決させてはいますが、しょせん、MSが、お仕着せで作ったものにあやかって、ああでもないこうでもない、というようなプロセスが、ちょっと私には歯がゆいです。VBAを知っていれば、Excelは、もっと自由度が高いと思います。VBAは、分かればとても便利です。VBAを勉強すれば、関数の本質的なことも分かります。
>なんとか文字列の大小が判断できれば成功するのですが
文字というのも、本来は、数字の塊で、プログラムの世界では、本質的には数字とはなんら変わりません。だから、本来は可能なのですが、そうさせないだけなのです。
Excelにも、まだ、私の手の届かないような世界もあります。狭く使えば、また、それは、それまでだと思います。こんなことを書いても、何の役にも立ちませんが。
ありがとうございます。
関数とは・・・、と言う点については十二分に理解しています。
もちろん文字についても・・・。
そしてVBAについて今後勉強したいと考えております。
ただ今回唐突に質問内容の様ななことが必要となり(1週間ほどで
カタをつける必要が…(×_×;) )、何とかならないか
と思い質問いたしました。
皆様には色々アドバイスいただき感謝しております。
No.3
- 回答日時:
ちょっと強引ですが、
#1さんが言われているように、「データ」-「並べ替え」を使います。
A列に並べ替えの対象になる文字列が入っているとして、
B列に「=ROW()」と計算式をいれ、A列だけを並び替えを行います。
100行の内、5番目のデータを表示したい場合、表示させたいセルに
=INDEX(A1:A100,SMALL(B1:B100,5),1)とします。
ただし、上記100行の中にブランクがあるとうまくいきません。
回答ありがとうございます。
「データ」-「並べ替え」を手動で利用する時点で
今回の趣旨とは外れてきます。
なんとか文字列の大小が判断できれば成功するのですが
「名前」のような場合によってはカナ10文字以上になりそうな
ものでは、CODEで表れた数値を結合して使うなんてことも
桁数的に不可能なので・・・
いやぁ、まいった・・・♪
No.2
- 回答日時:
こんにちは。
がんばってみるのは良いでしょうね。多少の関数が分かってきたなって思ったら、誰もが一度は、それは挑戦しているはずです。ただ、私の知る限りでは、関数で成功したという話は聞きません。少なくとも私は出来ませんでした。
VBAなら、あれをこうして、とか想像は付きますが、それでも、なかなか難しいような気がします。
もしも、他のセルを使って数値化するのでしたら、文字コードは、左から読むことになりますが、それも、ややこしいでしょうね。
アドバイスありがとうございます。
かなりいろんなことを思案しているのですが
なかなか厳しい状況ですね♪
1、元データ(関数や式の入っていないタダの値)
↓
2、エクセル上で関数や式等を使い出来上がった
なんらかのデータ
↓
3、そのデータを引数とし、今回の質問のような
ソート状態にもっていった最終データ(リスト)
今回は3、を自動でしたいと思っていますので
2、のデータを手動でソートしたり
あるいは、2、のデータを別に手動で値のみコピーして
さらに手動でソートしてということはしたくないのです。
やはりムリなのかなぁ・・・
No.1
- 回答日時:
ソートで済むものを、なぜこんあんことをするのか良くわからないし、
>VB等のプログラムは一切使わず関数の駆使でなんとかならない
など制約を課すのか
関数では無理ではないかとおもう。
ーー
VBAといえなくもないが、ユーザー定義関数を作る。
(1)作業列を使う
(2)数行のVBAコーを書く
が欠点といえば欠点だが。
標準モジュールに
Function cd(a)
s = ""
For i = 1 To Len(a)
s = s & Format(Asc(Mid(a, i, 1)), "000")
Next
cd = s
End Function
シートで、A列に半角カナがあるとして
B1に=cd(A1)と入れて最下行まで式を複写する。
全データ範囲を指定して並べ替えする。
ソートキーはもちろんB列、昇順。
結果
エノモト180201211196
オオカワ181181182220
キムラ183209215
キムラ183209215
セキ190183
タムラ192209215
ワダ220192222
姓と名の間のスペースが邪魔化も知れない。
SUBSTITUTE関数で取り除けばようかもしれない。
回答ありがとうございます。
並び替え自体を自動で行っていないため
今回の趣旨とは根本が異なりますが
ユーザー定義関数というものを今回初めて
知りました。
ぜひ勉強させていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- Excel(エクセル) エクセルにおいてセル内の文字を出来るだけ大きく表示する方法を教えてください。 4 2022/07/30 08:08
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/15 08:30
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- Java Java 南京錠 2 2023/02/04 11:46
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
【お題】逆襲の桃太郎
【大喜利】桃太郎が1回鬼退治に失敗したところから始まる新作昔話「リベンジオブ桃太郎」にはこんなシーンがある
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
【選手権お題その2】この漫画の2コマ目を考えてください
サッカーのワンシーンを切り取った1コマ目。果たして2コマ目にはどんな展開になるのか教えてください。
-
エクセルで文字が混じった数字を並べ替えしたいのですが
Excel(エクセル)
-
Excelで文字+数字のデータの並び替えについて
Excel(エクセル)
-
エクセルのソートで、数字よりもアルファベットを優先したい
Excel(エクセル)
-
-
4
エクセルで文字列の最大値を抽出する方法
Excel(エクセル)
-
5
UNIQUE関数が使えないバージョンで重複削除したい。
Excel(エクセル)
-
6
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
7
《Excel2000》SUMPRODUCT関数での集計、空白行がある場合は?
Excel(エクセル)
-
8
ある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?
Excel(エクセル)
-
9
Excel MATCH関数で検索範囲内に同じ値の検索値が複数ある場合
Access(アクセス)
-
10
多数の計算セルに一括で同一の関数を追加したい
Excel(エクセル)
-
11
アルファベットを含む数をエクセルでうまく並べ替えをしたい。
Excel(エクセル)
-
12
Excel2017 フィルタ昇順並びがA1、A10、A11、A2、A3となってしまう。
Excel(エクセル)
-
13
エクセルの複数のセルを一括で絶対参照にする方法
Excel(エクセル)
-
14
Excelのmatch関数エラー原因が分かりません
Excel(エクセル)
-
15
MIN関数で空白セルを無視したいのですが
その他(Microsoft Office)
-
16
EXCELで2つの数値のうち大きい方を採択する数式
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PowerPointで表の1つの列だけ...
-
エクセルで二つの数字の小さい...
-
エクセルの表から正の数、負の...
-
EXCELで 一桁の数値を二桁に
-
エクセルの項目軸を左寄せにしたい
-
エクセルで文字が混じった数字...
-
エクセル(勝手に太字になる)
-
Excel、市から登録している住所...
-
エクセル 時間帯の重複の有無
-
Excel 文字列を結合するときに...
-
Excelで半角の文字を含むセルを...
-
文字列に数字を含むセルを調べたい
-
VBAで文字列を数値に変換したい
-
2つのエクセルのデータを同じよ...
-
【VBA】特定列に文字が入ってい...
-
エクセル 文字数 多い順 並...
-
オートフィルターをかけ、#N/A...
-
Excel関数(通常はA列優先で、...
-
VBAで特定の文字を探して隣のセ...
-
お店に入るために行列に並んで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセル 文字数 多い順 並...
-
エクセルで最初のスペースまで...
-
Excelで半角の文字を含むセルを...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
エクセルの項目軸を左寄せにしたい
-
文字列に数字を含むセルを調べたい
-
エクセルの表から正の数、負の...
-
エクセルで文字が混じった数字...
-
EXCELで 一桁の数値を二桁に
-
VBAで文字列を数値に変換したい
-
Excel、市から登録している住所...
-
エクセルで一列おきに空白列を...
-
オートフィルターをかけ、#N/A...
-
「B列が日曜の場合」C列に/...
-
エクセル 時間帯の重複の有無
-
Excel 文字列を結合するときに...
-
エクセルの並び変えで、空白セ...
おすすめ情報