2016-06-20 7 views
0

対応の時刻の文字列の数は、いくつかのデータのスクリーンショットです: enter image description here繰り返し行が賢明ここ列

私は列Aの合計回数内の文字列である新しい列を構築したいと思いますそれが起こる。

エントリが「高すぎる」は26行になり、「それを望まない」は6行、その後は「高価」(小文字で異なる)は別の6 + 5行14から。

だから、ちょうど新しい列は、各文字列が表示される回数です。もしそうなら、逆ピボット・テーピング。

どうすればいいですか?私はrept()で試してみましたが、それはすべてを1つのセルに入れました。

=UNIQUE(A:A) 

と説明のために、あなたはそれがどのように分割するか確認したい場合は:あなたがかけることになり、列Cでのように、あなたが最初の値基本的にユニークにヘルパー列を必要とする可能性が高いように見えます

答えて

1

また、これが機能するかどうかを確認してください。

=ArrayFormula(trim(transpose(split(query(rept(A2:A&char(10),B2:B),,50000), char(10))))) 
+0

もう一つのユースケースが登場していましたが、これはあまりにも少ないステップで美しく動作します - ありがとう –

+0

大歓迎、@DougFir – JPV

2

D列に置くことができます。

=sum(FILTER(B2:B,exact(C2,A2:A))) 

正確を使用する理由は、大文字と小文字を区別しないためです。

あなたは区切り文字を使用して再現性の値をconsutruct REPT機能のためのあなたの最終的な数たら:あなたが出て値をREPT場合

=rept(C2&";",D2) 

これはアウトに役立ちますが、列に後で適切にそれらを分割しますセミコロンを押すと同じ結果が表示されます。

現在、この時点では、これはあなたが見るものです:

enter image description here

を私は、列D削除することができますので、REPT関数にいくつかのスペースIの巣に和フィルタを保存するには:

=REPT(C2&";",sum(FILTER(B2:B,exact(C2,A2:A)))) 

その後、すべての人を参加させて、最後に、;をデリミタとして使用して分割します。

=TRANSPOSE(SPLIT(JOIN(";",D2:D4),";")) 

enter image description here

+0

詳細な回答ありがとうございます。私が従うことができるように小さな断片に分割してもありがとう。実際には、私のデータセットは〜17k行であり、最終的な公式 "JOINのテキスト結果が50000文字の制限よりも長い"というエラーが表示されます。だから私はそれをより小さな範囲に分割しようと試みた。 = TRANSPOSE(スプリット(JOIN( ";"、D2:D1000)、 ";"))私はまだそのメッセージを受け取ります。 join()の使用に代わるものがありますか? –

+0

いくつかのことを試してみてください - defはそれが17K行のLOLになることを認識しませんでした - あなたは17k個のユニークな行を持ちますか? –

+0

申し訳ありませんが、17kから始めると合計行が高くなります –

関連する問題