• 締切済み

差し込み印刷用のデーターを作る

差し込み印刷用のデーターを作る 「エクセル1」のようなフォーマットのデータを「エクセル2」のようなフォーマットに変換したいと思います。 差し込み印刷用のデータを作りたいのですが、データが沢山あり、手作業(コピー&ペースト)では膨大な時間がかかってしまうので、大変困っています! もしお分かりになる方がいらっしゃいましたら、よろしくお願いします。 <エクセル1> 列A------列B 1-------りんご 空白-----みかん 空白-----もも 2-------なし 空白-----ぶどう 空白-----もも 空白-----みかん 3-------みかん 空白-----もも 空白-----りんご ↓↓↓ <エクセル2> 列A------列B----列C----列d----列e 1-------りんご--みかん--もも 2-------なし----ぶどう--もも--みかん 3-------みかん--もも----りんご

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答2です。 シート1でC2セルに入力する式を間違いていました。次のようにしてください。 =IF(B2="","",IF(A2<>"",A2+COUNTA(INDEX(B:B,MATCH(A2,A:A,0)):B2)*0.0001,IF(A2="",C1+0.0001)))

すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シート1にエクセル1の表があるとして1行目は項目名があり、2行目からお示しのデータがあるとします。 C列は作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",IF(A2<>"",A2+COUNTA(INDEX(B:B,MATCH(A2,A:A,0)):B2)*0.0001,IF(A2="",D1+0.0001))) シート2はお求めの表を作るとして1行目には項目名を入れ、A2セルには次の式を入力して横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$A:$A,ROW(A1))=0,"",IF(COLUMN(A1)=1,ROW(A1),IF(COUNTIF(Sheet1!$C:$C,ROW(A1)+(COLUMN(A1)-1)*0.0001)=0,"",INDEX(Sheet1!$B:$B,MATCH(ROW(A1)+(COLUMN(A1)-1)*0.0001,Sheet1!$C:$C,0)))))

すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 元の「エクセル1」のフォーマットで作成されているシートを、「エクセル2」のフォーマットに作り換えるのではなく、関数を使って、別のシートに「エクセル2」のフォーマットで、自動的に表示させる方法では駄目でしょうか。  例えば、「エクセル1」のリストがSheet1の3行目から始まっていて、そのデータをSheet2の2行目以下に、「エクセル2」のフォーマットで表示させる場合には、次の様にすると良いと思います。  まず、Sheet2のA2セルに次の数式を入力して下さい。 =IF(ROWS($2:2)>COUNT(Sheet1!$A:$A)-COUNT(Sheet1!$A$1:$A$2),"",SMALL(Sheet1!$A:$A,ROWS($2:2)))  次に、Sheet2のB2セルに次の数式を入力して下さい。 =IF($A2="","",IF(COLUMNS($B:B)>IF(ROWS($2:2)=COUNT($A:$A),COUNTA(Sheet1!$B:$B)-COUNTA(Sheet1!$B$1:$B$2)+ROWS(Sheet1!$B$1:$B$3),MATCH($A3,Sheet1!$A:$A,0)-MATCH($A2,Sheet1!$A:$A,0),"",INDEX(Sheet1!$B:$B,MATCH($A2,Sheet1!$A:$A,0)+COLUMNS($B:B)-1)))  そして、Sheet2のB2セルをコピーして、Sheet2のC2から右にあるセルに貼り付けて下さい。 それから、Sheet2の2行目全体をコピーして、3行目以下の行に貼り付けて下さい。  これでSheet2には、Sheet1のデータが、「エクセル2」のフォーマットで表示されると思います。  尚、 Sheet1のB列の途中に空欄になっているセルが存在する場合には、Sheet2の対応するセルには0が表示されてしまいますので、次の様に設定して、数値が0の場合は表示が行われない様にして下さい。 メニューの[ツール]ボタンをクリック   ↓ 選択肢の[オプション]をクリック   ↓ 「オプション」ウィンドウの「表示」タグをクリック   ↓ 「ウィンドウオプション」という項目内にある「ゼロ値」のチェックマークを外す   ↓ 「オプション」ウィンドウの[OK]ボタンをクリック  それと、「エクセル1」のフォーマットで作成されているシートが複数ある場合には、次の様な方法があります。 まず、Sheet2をコピーしたシートを、必要な数だけ作って下さい。 次に、コピーシートの全セルを選択(A1セルの左上にある、行番号欄と列番号欄が交差する長方形をクリックする)   ↓ メニューの[編集]ボタンをクリック   ↓ 選択肢の[置換]をクリック   ↓ 「検索と置換」ウィンドウの「置換」タグをクリック   ↓ 「検索する文字列」の欄に「Sheet1」と入力する   ↓ 「置換後の文字列」の欄に、「エクセル1」のフォーマットで作成されている別のシート名を入力する   ↓ [すべて置換]ボタンをクリック  ↓ [閉じる]ボタンをクリック   ↓ 次のコピーシートを開いて、同様の操作を繰り返す 以上

すると、全ての回答が全文表示されます。
このQ&Aのポイント
  • EP-710Aで年賀状を作成中に、プリンタドライバーと本体の用紙サイズが違うためにプリントができないという問題が発生しました。
  • 本体の液晶小窓から用紙設定をA4からハガキに変更する方法がわからず、困っています。
  • EP-710Aの年賀状作成中に起きたトラブルに対して、プリンタドライバーと本体の用紙サイズを合わせる必要があります。具体的な設定方法を教えていただけますでしょうか。
回答を見る

専門家に質問してみよう