- ベストアンサー
エクセルでの自動転記について
- エクセルで特定のセルの値を自動的に別のセルに表示させる方法について説明します。
- OFFSET関数とCOUNTA関数を組み合わせて使用することで、シートAの特定の範囲に入力された値をシートBに自動転記することができます。
- 例えば、シートAのA列に入力された値をシートBのA列に自動的に表示させたい場合、OFFSET関数を使用してシートAのA列のデータの範囲を指定し、COUNTA関数を使って空白以外のセルの数を数えることができます。これにより、シートAに新しい値が追加された場合でも自動的にシートBに表示することができます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>画像の方を添付しましたのでこちら見て頂ければ伝わると思います 回答No.1、またはNo.2で十分です。 文字列のときは回答No.1で良いでしょう。 Sheet1のセルで未入力のとき0が代入されるとき文字数0の文字列を代入します。 =文字列1&文字列2 → 文字列1文字列2 ="ABC"&"XYZ" → "ABCXYZ" ="ABC"&"" → "ABC" Sheet1!A1に"1組"と入力されているとき =Sheet1!A1&"" → "1組" =IF(Sheet1!A1="","",Sheet1!A1) → "1組" Sheet1!A1が未入力のとき =Sheet1!A1&"" → "" =IF(Sheet1!A1="","",Sheet1!A1) → "" 数値と文字列の双方に対応させるときは回答No.2の方を使うことをお勧めします。 尚、Sheet1の未入力セルに対するSheet2のセルにも必要な行番号までコピペしてください。 OFFSET関数やCOUNTA関数は必要ありません。
その他の回答 (3)
- bunjii
- ベストアンサー率43% (3589/8249)
貼付画像のようなことでしょうか? シート名Aが元のデータでシートBがシートAから空欄行を除いたデータを抽出しています。 B!A1セルへ次の数式を入力して右と下へオートフィルコピーすれば良いでしょう。 =IF(COUNTA(A!A:A)>=ROW(),INDEX(A!A$1:A$100,SMALL(INDEX((A!A$1:A$100<>"")*ROW(A$1:A$100)+(A!A$1:A$100="")*ROW(A$101),0),ROW())),"") 元データは最大100行としましたが実際の行数に合わせて範囲を変更してください。
補足
非常に分かりづらくて申し訳ない 画像の方を添付しましたのでこちら見て頂ければ伝わると思います 宜しくお願いします
- MackyNo1
- ベストアンサー率53% (1521/2850)
他シートに反映したいデータが文字列以外のデータ(数値や日付、時刻など)もあるなら、以下のような関数にする必要があります。 =IF(Sheet1!A1="","",Sheet1!A1)
お礼
有難うございました bunjiiさんがそちらの提示して下さった関数のとおりで問題無いとおっしゃっていましたのでお礼とさせて頂きます。
Sheet2!A1: =Sheet1!A1&"" 此れを下方にズズーッとドラッグ&ペースト
お礼
有難う御座いました こちら提示して下さったとおりの関数を使って資料を作成しましたところ、それを元に内容を少し変えれば目標としている資料が作成出来そうだったので、これで一歩完成に近づきそうです
お礼
皆さん丁寧に教えて下さって有難う御座いました お答え頂いた皆さんの関数を元に資料作成してみます 特にNO.3、4のbunjiiさんがのすべての回答まとめて下さったので今回ベストアンサーとさせて頂きます bunjiiさんのNO.3の関数は私では分からない部分が多く、まだ私も勉強不足だなと感じました これを機にもう少し参考本を読んで勉強させて頂きます 最後に皆さん本当に有難う御座いました