• ベストアンサー

エクセルの数式教えてください。

シート1にセルA1、A2に文字を シート2のセルA1、A2にそれぞれ飛ばす(イコールで結ぶ) (シート1 A1=シート2 A1、シート1 A2=シート2 A2とする) 以下の条件場合、どのようにすると良いか教えてください。 シート1 セルA1に文字が入力していない時 シート1 セルA2の文字をシート2 セルA1にとばし、シート2 セルA2には空白とする。 宜しくお願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

以下の式を入力してください。 A1セル =IF(Sheet1!A1="",Sheet1!B1,Sheet1!A1)&"" B1セル =IF(Sheet1!A1="","",Sheet1!B1)

yoroshiki
質問者

お礼

有難うございます。 できました。 &""の意味わかりませんが &""がなくてもできました。 助かりました。

その他の回答 (2)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 Sheet1のA1セルとA2セルだけが関係する場合に関しては、ANo.1様やANo.2様が既に回答されていますので、文字が入力されるセルが複数ある場合に関して、投稿させて頂きます。  例えば、Sheet1のA列のセルの幾つかに文字が入力されていて、文字が入力されているセルの間には、空欄のセルが幾つも挟まっている場合において、 Sheet2のA列に、空欄のセルを除外して、文字が入力されているセルのデータのみを、間を詰めて並べる方法の一例は以下の様になります。  まず、Sheet2のA1セルに次の数式を入力します。 =IF(ROWS($1:1)>COUNTIF(Sheet1!$A:$A,"><"),"",INDEX(Sheet1!$A:$A,SUMPRODUCT(ROW(OFFSET(Sheet1!$A$1,,,MATCH("゛",Sheet1!$A:$A,-1)))*(OFFSET(Sheet1!$A$1,,,MATCH("゛",Sheet1!$A:$A,-1))<>"")*(COUNTIF(OFFSET(Sheet1!$A$1,,,ROW(OFFSET(Sheet1!$A$1,,,MATCH("゛",Sheet1!$A:$A,-1)))),"><")=ROWS($1:1)))))  次に、Sheet2のA1セルをコピーして、Sheet2のA3以下の範囲に、Sheet1で使用されている行数と同じか、又はそれ以上の行数になるまで貼り付けます。  これで、Sheet1のA列のデータを、Sheet2のA列に、間を詰めて表示させる事が出来ます。

yoroshiki
質問者

お礼

難しすぎですが今後、使う機会があれば参考にします。

  • P5Q
  • ベストアンサー率40% (86/210)
回答No.1

空白の時に 0 を表示しない方法で、  シート2の A1セルに     =IF(AND(Sheet1!A1="",Sheet1!A2=""),"",IF(Sheet1!A1="",Sheet1!A2,Sheet1!A1))         A2セルに     =IF(Sheet1!A1="","",IF(Sheet1!A2="","",Sheet1!A2))    試してみてください。   ご希望通りでなければ、スミマセン。

yoroshiki
質問者

お礼

考えていたのと違っていました。 しかし、ご回答有難うございました。

関連するQ&A