• ベストアンサー

エクセルで新しい文字をもれなく表示したい

先日、下記の質問をさせて頂きました。 http://okwave.jp/qa/q7268625.html 3番の方に大正解の答えを教えて頂いたのですが、 式の意味が良くわからず、再度質問させて頂きます。 今度は5つを一つの単位として、次々に名前が現れます。 A2~E2までで、その下にずっと続きます。 その名前ごとに1行5つとして、出現回数をカウントします。 G2~K2に名前、G3~K3に出現回数。 その下に同じように G4~K4に名前、G5~K5に出現回数という具合に、 まとめます。 この関数を教えて下さい。 よろしくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>シートの都合で下記部分が ご相談で出した情報提供が事実と相違していても,後は自力でなんとかやれると思っていたのがやっぱりダメだったって事ですか。 そうであれば,「ホントの本当はこうでした」とキチンと「失敗の事実」を添えて,改めてご相談を出し直してみたらどうでしょう。 若干修正バージョン: G2: =IF(COUNTIF($A$1:$E1,A2),"",IF(COUNTIF($A2:A2,A2)=1,ROW(A2)*100+COLUMN(A2),"")) M2: =INDIRECT(TEXT(IF(ROW(M1)>COUNT(G:K),100001,SMALL(G:K,ROW(M1))),"!R0!C00"),FALSE)&"" #ただしこれも,アナタのシートの実際のレイアウトに合わせた修正が出来なければ,結局ムダなだけです。

tax_sos
質問者

お礼

早速のご回答ありがとうございます。 非常に助かりました。 関数で処理したいのは、ワークシートとしてデータが更新されれば、 結果を一枚のシートで処理できるからなのです。 エクセルの操作などでは担当者が変われば、どうやってその結果を出したのか 皆目見当がつかなくなるからなのです。 今後はもっとエクセルを勉強したいと思います。 ありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

ご質問で書かれているレイアウトは色々変なので,次のようにします。 A1からE1に「名前1」から「名前5」と記入してタイトル行にします A2からE2以下に太郎次郎三郎…を記入します。 G2に =IF(COUNTIF($A$1:$E1,A2),"",IF(COUNTIF($A2:A2,A2)=1,ROW(A2)+COLUMN(A2)/10,"")) と記入し,K2までコピー,更に下向けにコピーします M1に名前一覧と記入 M2に =INDIRECT(TEXT(IF(ROW(M1)>COUNT(G:K),1000.1,SMALL(G:K,ROW(M1)))*10,"!R0!C0"),FALSE)&"" と記入し,下向けにコピーします。 #やっぱりイミフメイだと思いませんか? 関数でやる仕事じゃないってのは,まさにこういうことです。

tax_sos
質問者

お礼

ご回答ありがとうございました。 たいへん参考になりました。 でも、シートの都合で下記部分が2.1や3.4などではなく、 5.0←この0は10ですが、1の位の0になってしまい、 最終的にエラーになりました。 難しいですね。 >G2に =IF(COUNTIF($A$1:$E1,A2),"",IF(COUNTIF($A2:A2,A2)=1,ROW(A2)+COLUMN(A2)/10,"")) と記入し,K2までコピー,更に下向けにコピーします

関連するQ&A