列と行を入れ替える
コピー&ペーストで列と行を入れ替えて入力したいのですが、Numbersでする方法を教えてください。
MacBook Pro, Mac OS X v10.7.3 Lion
コピー&ペーストで列と行を入れ替えて入力したいのですが、Numbersでする方法を教えてください。
MacBook Pro, Mac OS X v10.7.3 Lion
ご参考:行のデータを列に入れ替える
行と列のデーター入れ替え
ヘッダ行とヘッダ列のついた表でデーターの入力が終わったのですが、行と列を入れ替えた方が見易いのでデーターを入れ替えようとして、同じ画面に新しい表を作り、
A1に「=INDEX(Table1::$A$1:$L$70,COLUMN(),ROW())」を入力しましたが、赤い三角が表示され、ほかのセルにもコピーしても赤い三角が表示されてデーターの入れ替えができません。
「Table1」を「表1」に置き換えても同じです。
「“$A$1:$L$70”は無効な参照です」のアラームがでます。
元の表のヘッダ行のフリーズは解除してあります。
式の入力が間違っているのでしょうか。
iMac 21.5inch Mid 2011 Mac OS X Lion 10.7.5
Numbers’09 ver.2.3 です。
助言よろしくお願いいたします。
追記: =INDEX(Table 1 :: $B$2 : $L$68, COLUMN(), ROW()) の、COLUMN()とROW()の部分について、
最初の数式の入力場所が(表2の左上のセル)、たまたまA1のセルの場合だとよいのですが、例えば、D4のセルである場合はそのセルの行列の位置情報で少し修正する必要があると思います。
それぞれ、
COLUMN()-COLUMN($D$4)+1
ROW()-ROW($D$4)+1
と変えてやる必要があると思います。
T22T さん
早速詳細なご助言ありがとうございます。
あらためて、A1に『=INDEX(Table1::$A$1:〜』と入力してカーソルをセル住所に持って行ったのですが、何の変化もありませんでした。
Numbersの左欄に「シート1」「表1」とあるので、「Table1」を「表1」に変えたところセル住所が楕円形で囲まれ逆三角形が表れクリックするとメニューがぶら下がりました。
そこに絶対行列参照にチェックが付いていたのでエンターすると「0」が表示され、数式が機能していることがわかりました。
新しい表のセルすべてに式をコピーしてデーターの入れ替えができたことを確認しました。
ありがとうございました。心からお礼申し上げます。
ayaGさん、度々、失礼致します。 表の名前を変更する必要がありましたね。 すまません、気付きませんでした。
試しに、行列を入れ替えて、新しい表に貼付けるAppleScriptを作ってみました。 セルの値のみを入れ替えるだけで、セルのフォーマットの再現はさせていません。 表中のセル範囲を囲んだ状態で実行します。 よろしければ、御使用下さい。(Numbers'09で作働。 Numbers v3.0では動かず)
tell document 1 of application "Numbers"
--セルを選択している表を取得
set theList to every table of every sheet whose selection range is not missing value
set theTable to my getTableFromList(theList)
set theSheet to item 1 of (every sheet whose every table contains theTable)
tell theTable
-- 選択範囲の情報を取得
set theValues to value of every cell of (selection range)
set CN to count every column of selection range
set RN to count every row of selection range
end tell
-- 新しく表を作る場合
tell theSheet
set theNewTable to make new table with properties {row count:CN + 1, column count:RN + 1}
tell theNewTable
set i to 1
repeat with j from 2 to RN + 1
repeat with k from 2 to CN + 1
set value of cell k of column j to item i of theValues
set i to i + 1
end repeat
end repeat
end tell
end tell
end tell
on getTableFromList(theList)
repeat with i in theList
if (length of i is not 0) then return item 1 of i
end repeat
end getTableFromLis
ayaGさん、いえいえ、こちらこそ、余計な書き込みになってしまい、申訳ございませんでした。 AppleScriptはアプリケーションの機能を少し拡張することができるので便利なのですが、使わなくても、そんなに困るものでもないと思います。 参考程度にして頂ければ幸いです。 (通常はアプリケーションフォルダ内のユーティリティフォルダにある、AppleScript Editor.appを使ってファイルを編集します。 環境設定からScriptメニューを表示させれば、メニューバーからAppleScriptを実行できるので、結構便利です。)
あと追加としては、numbers '09 だと TRANSPOSE 関数というのがサポートされました。コピー&ペーストじゃなくて、ワークシート上で恒常的に入替えが必要な場合とかは多少便利になったはず。
T22T さん
申し分けありません。
せっかく書いていただきましたが、AppleScriptなるものをどこでどう使うのかの知識がありません。
関数も、数値の合計、個数の合計、平均値、計算の元となるセルが空白の時の答えのセルの空白などごく初歩的なものしか理解しておりません。
お気遣いいただきましが、生かすことができず心苦しく思っております。 深謝。
列と行を入れ替える